Skip to content

Commit e69183a

Browse files
committed
workflows: smoke: use pyav-ffmpeg archives
Do the same as the tests.yml workflow to make things consistent across both cases. We need to specify the PKG_CONFIG_PATH and related variables so that unpacking pyav-ffmpeg matches what's expected by the build, and what cibuildwheel does in tests.yaml. With this change, the build-deps script is no longer used in CI. For this to work, we need to install libxcb-shape0 with apt-get so that the .so files can be utilized, since we're not doing a repair step like in tests.yml to bundle the relevant libraries. Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
1 parent 1f3705d commit e69183a

1 file changed

Lines changed: 22 additions & 32 deletions

File tree

‎.github/workflows/smoke.yml‎

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ jobs:
4343
fail-fast: false
4444
matrix:
4545
config:
46-
- {os: ubuntu-24.04, python: "3.14", ffmpeg: "9.0.1", extras: true}
47-
- {os: ubuntu-24.04, python: "3.12", ffmpeg: "8.1.2"}
48-
- {os: ubuntu-24.04, python: "3.13", ffmpeg: "9.0.1"}
49-
- {os: ubuntu-24.04-riscv, python: "3.14", ffmpeg: "9.0.1", extras: true}
50-
- {os: ubuntu-24.04-riscv, python: "3.12", ffmpeg: "8.1.2"}
51-
- {os: ubuntu-24.04-riscv, python: "3.13", ffmpeg: "9.0.1"}
52-
- {os: macos-14, python: "3.12", ffmpeg: "8.1.2"}
53-
- {os: macos-14, python: "3.14", ffmpeg: "9.0.1"}
46+
- {os: ubuntu-24.04, python: "3.14", ffmpeg: "9.0.1", ffmpeg_config: ffmpeg-latest.json, extras: true}
47+
- {os: ubuntu-24.04, python: "3.12", ffmpeg: "8.1.2", ffmpeg_config: ffmpeg-8.1.json}
48+
- {os: ubuntu-24.04, python: "3.13", ffmpeg: "9.0.1", ffmpeg_config: ffmpeg-latest.json}
49+
- {os: ubuntu-24.04-riscv, python: "3.14", ffmpeg: "9.0.1", ffmpeg_config: ffmpeg-latest.json, extras: true}
50+
- {os: ubuntu-24.04-riscv, python: "3.12", ffmpeg: "8.1.2", ffmpeg_config: ffmpeg-8.1.json}
51+
- {os: ubuntu-24.04-riscv, python: "3.13", ffmpeg: "9.0.1", ffmpeg_config: ffmpeg-latest.json}
52+
- {os: macos-14, python: "3.12", ffmpeg: "8.1.2", ffmpeg_config: ffmpeg-8.1.json}
53+
- {os: macos-14, python: "3.14", ffmpeg: "9.0.1", ffmpeg_config: ffmpeg-latest.json}
5454

5555
env:
5656
PYAV_PYTHON: python${{ matrix.config.python }}
@@ -61,6 +61,11 @@ jobs:
6161
# packages/versions RISE doesn't happen to carry.
6262
UV_INDEX: ${{ matrix.config.os == 'ubuntu-24.04-riscv' && 'https://pypi.riseproject.dev/simple/' || '' }}
6363
UV_INDEX_STRATEGY: ${{ matrix.config.os == 'ubuntu-24.04-riscv' && 'unsafe-best-match' || 'first-index' }}
64+
# pyav-ffmpeg's vendor packages bake prefix=/tmp/vendor into their .pc
65+
# files (not relocatable), so they must be extracted there verbatim.
66+
PKG_CONFIG_PATH: /tmp/vendor/lib/pkgconfig
67+
LD_LIBRARY_PATH: /tmp/vendor/lib
68+
DYLD_LIBRARY_PATH: /tmp/vendor/lib
6469

6570
steps:
6671
- uses: actions/checkout@v7
@@ -73,33 +78,18 @@ jobs:
7378
python-version: ${{ matrix.config.python }}
7479

7580
- name: OS Packages
81+
if: runner.os == 'Linux'
7682
run: |
77-
case ${{ matrix.config.os }} in
78-
ubuntu-24.04|ubuntu-24.04-riscv)
79-
sudo apt-get update
80-
sudo apt-get install -y \
81-
autoconf \
82-
automake \
83-
build-essential \
84-
cmake \
85-
libtool \
86-
libx264-dev \
87-
nasm \
88-
pkg-config \
89-
zlib1g-dev
90-
if [[ "${{ matrix.config.extras }}" ]]; then
91-
sudo apt-get install -y doxygen
92-
fi
93-
;;
94-
macos-14)
95-
brew install automake libtool opus x264
96-
;;
97-
esac
98-
99-
- name: Pip and FFmpeg
83+
sudo apt-get update
84+
sudo apt-get install -y build-essential cmake pkg-config zlib1g-dev libxcb-shape0
85+
if [[ "${{ matrix.config.extras }}" ]]; then
86+
sudo apt-get install -y doxygen
87+
fi
88+
89+
- name: FFmpeg
10090
run: |
10191
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
102-
scripts/build-deps
92+
python scripts/fetch-vendor.py --config-file scripts/${{ matrix.config.ffmpeg_config }} /tmp/vendor
10393
10494
- name: Build
10595
run: |

0 commit comments

Comments
 (0)