Skip to content

Commit 2fca2bf

Browse files
author
pytorchbot
committed
2026-07-28 nightly release (8f4341d)
1 parent d19a4d7 commit 2fca2bf

38 files changed

Lines changed: 2039 additions & 812 deletions

.github/workflows/cpp_tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
pushd $build_tests_dir
6767
TORCH_PATH=$(python -c "import pathlib, torch; print(pathlib.Path(torch.__path__[0]))")
6868
Torch_DIR="${TORCH_PATH}/share/cmake/Torch"
69-
cmake .. -DTorch_DIR=$Torch_DIR -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DCMAKE_VERBOSE_MAKEFILE=ON
69+
cmake .. -DTorch_DIR=$Torch_DIR -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DTORCHCODEC_BUILD_IMAGE=0
7070
cmake --build .
7171
ctest --output-on-failure
7272
popd

.github/workflows/linux_aarch64_wheel.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ jobs:
103103
run: bash packaging/install_ffmpeg.sh ${{ matrix.ffmpeg-version-for-tests }}
104104

105105
- name: Install test dependencies
106-
run: bash packaging/install_test_dependencies.sh
106+
run: bash packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
107107

108108
- name: Run Python smoke tests
109109
run: |
110-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
110+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
111+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
111112
112113
- name: Run Python tests
113114
if: ${{ matrix.ffmpeg-version-for-tests == '7' && !startsWith(github.ref, 'refs/heads/release/') }}
114115
run: |
115-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test
116+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
117+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test

.github/workflows/linux_cuda_aarch64_wheel.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,14 @@ jobs:
110110
echo LD_LIBRARY_PATH=$CONDA_PREFIX/lib:/usr/local/cuda/lib64/:${LD_LIBRARY_PATH} >> $GITHUB_ENV
111111
112112
- name: Install test dependencies
113-
run: bash packaging/install_test_dependencies.sh
113+
run: bash packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
114114
- name: Run Python smoke tests
115115
run: |
116-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
116+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
117+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
117118
118119
- name: Run Python tests
119120
if: ${{ matrix.ffmpeg-version-for-tests == '8' && !startsWith(github.ref, 'refs/heads/release/') }}
120121
run: |
121-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test
122+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
123+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test

.github/workflows/linux_cuda_wheel.yaml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,15 @@ jobs:
124124
- name: Install torchcodec from the wheel
125125
run: ${CONDA_RUN} bash packaging/install_torchcodec_wheel.sh "*cu${{ env.cuda_version_without_periods }}-cp${{ env.python_version_without_periods }}*.whl"
126126

127+
# We skip installing libheif on CUDA 12.6: for whatever confusing and
128+
# annoying reason, conda refuses to solve. HEIC is CPU-only anyway *and*
129+
# it's still covered on CUDA 13 jobs, so this loses no real coverage.
127130
- name: Install test dependencies
128-
run: ${CONDA_RUN} bash packaging/install_test_dependencies.sh
131+
run: ${CONDA_RUN} bash packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' && matrix.cuda-version != '12.6' }}
129132
- name: Run Python tests
130133
run: |
131-
${CONDA_RUN} FAIL_WITHOUT_CUDA=1 FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test --tb=short
134+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ] || [ "${{ matrix.cuda-version }}" = "12.6" ]; then export FAIL_WITHOUT_HEIC=0; fi
135+
${CONDA_RUN} FAIL_WITHOUT_CUDA=1 FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test --tb=short
132136
- name: Run Python benchmark
133137
run: |
134138
${CONDA_RUN} time python benchmarks/decoders/gpu_benchmark.py --devices=cuda:0,cpu --resize_devices=none
@@ -186,15 +190,16 @@ jobs:
186190
run: bash packaging/install_ffmpeg.sh ${{ env.FFMPEG_VERSION }}
187191

188192
- name: Install test dependencies
189-
run: bash packaging/install_test_dependencies.sh
193+
run: bash packaging/install_test_dependencies.sh ${{ env.FFMPEG_VERSION != '4' }}
190194

191195
- name: Assert CUDA is not available
192196
run: |
193197
python -c "import torch; assert not torch.cuda.is_available()"
194198
195199
- name: Run Python tests
196200
run: |
197-
pytest --override-ini="addopts=-v" test --tb=short
201+
if [ "${{ env.FFMPEG_VERSION }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
202+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test --tb=short
198203
199204
install-and-test-no-ffmpeg:
200205
# Asserts that the CUDA wheel works WITHOUT FFmpeg installed: it must import,
@@ -252,7 +257,7 @@ jobs:
252257
253258
- name: Run FFmpeg-free Python tests
254259
run: |
255-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 \
260+
FAIL_WITHOUT_IMAGE_DECODERS=1 FAIL_WITHOUT_HEIC=0 \
256261
pytest --override-ini="addopts=-v" test/test_ffmpeg_optional.py test/test_decoders.py::TestImageDecoder
257262
258263
build-docs:

.github/workflows/linux_wheel.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,12 @@ jobs:
103103
run: bash packaging/install_ffmpeg.sh ${{ matrix.ffmpeg-version-for-tests }}
104104

105105
- name: Install test dependencies
106-
run: bash packaging/install_test_dependencies.sh
106+
run: bash packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
107107

108108
- name: Run Python tests
109109
run: |
110-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test
110+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
111+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test
111112
112113
install-and-test-no-ffmpeg:
113114
# Asserts that torchcodec works WITHOUT FFmpeg installed: the package must
@@ -160,7 +161,7 @@ jobs:
160161
161162
- name: Run FFmpeg-free Python tests
162163
run: |
163-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 \
164+
FAIL_WITHOUT_IMAGE_DECODERS=1 \
164165
pytest --override-ini="addopts=-v" test/test_ffmpeg_optional.py test/test_decoders.py::TestImageDecoder
165166
166167
install-and-test-third-party-interface:

.github/workflows/macos_wheel.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,15 @@ jobs:
106106
run: bash packaging/install_ffmpeg.sh ${{ matrix.ffmpeg-version-for-tests }}
107107

108108
- name: Install test dependencies
109-
run: bash packaging/install_test_dependencies.sh
109+
run: bash packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
110110

111111
- name: Run Python smoke tests
112112
run: |
113-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
113+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
114+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
114115
115116
- name: Run Python tests
116117
if: ${{ matrix.ffmpeg-version-for-tests == '8' && !startsWith(github.ref, 'refs/heads/release/') }}
117118
run: |
118-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test
119+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
120+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test

.github/workflows/windows_cuda_wheel.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,11 @@ jobs:
139139
run: bash packaging/install_torchcodec_wheel.sh "*cu${{ env.cuda_version_without_periods }}-cp${{ env.python_version_without_periods }}*.whl"
140140

141141
- name: Install test dependencies
142-
run: bash packaging/install_test_dependencies.sh
142+
run: bash -l packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
143143
- name: Run Python tests
144144
run: |
145-
FAIL_WITHOUT_CUDA=1 FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
145+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
146+
FAIL_WITHOUT_CUDA=1 FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
146147
- name: Run Python benchmark
147148
run: |
148149
time python benchmarks/decoders/gpu_benchmark.py --devices=cuda:0,cpu --resize_devices=none
@@ -199,13 +200,16 @@ jobs:
199200
- name: Install ffmpeg
200201
run: bash -l packaging/install_ffmpeg.sh ${{ env.FFMPEG_VERSION }}
201202

203+
# -l exposes the conda CLI so the script can install libheif (the optional
204+
# HEIC runtime dep) for the HEIC smoke test.
202205
- name: Install test dependencies
203-
run: bash packaging/install_test_dependencies.sh
206+
run: bash -l packaging/install_test_dependencies.sh ${{ env.FFMPEG_VERSION != '4' }}
204207

205208
- name: Assert CUDA is not available
206209
run: |
207210
python -c "import torch; assert not torch.cuda.is_available()"
208211
209212
- name: Run Python tests
210213
run: |
211-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
214+
if [ "${{ env.FFMPEG_VERSION }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
215+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short

.github/workflows/windows_wheel.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,15 @@ jobs:
111111
run: bash -l packaging/install_ffmpeg.sh ${{ matrix.ffmpeg-version-for-tests }}
112112

113113
- name: Install test dependencies
114-
run: bash packaging/install_test_dependencies.sh
114+
run: bash -l packaging/install_test_dependencies.sh ${{ matrix.ffmpeg-version-for-tests != '4' }}
115115

116116
- name: Run Python smoke tests
117117
run: |
118-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
118+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
119+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test/smoke_test.py --tb=short
119120
120121
- name: Run Python tests
121122
if: ${{ matrix.ffmpeg-version-for-tests == '8' && !startsWith(github.ref, 'refs/heads/release/') }}
122123
run: |
123-
FAIL_WITHOUT_JPEG=1 FAIL_WITHOUT_PNG=1 FAIL_WITHOUT_WEBP=1 FAIL_WITHOUT_AVIF=1 pytest --override-ini="addopts=-v" test
124+
if [ "${{ matrix.ffmpeg-version-for-tests }}" = "4" ]; then export FAIL_WITHOUT_HEIC=0; fi
125+
FAIL_WITHOUT_IMAGE_DECODERS=1 pytest --override-ini="addopts=-v" test

0 commit comments

Comments
 (0)