Skip to content

Commit 4620e55

Browse files
KhoraLeeAniLeo
authored andcommitted
ci: build FFMPEG prebuilt for each OS/architecture
Add linux arm64 prebuilt. Add both x86_64 and arm64 prebuilts for macOS.
1 parent 08d595c commit 4620e55

File tree

1 file changed

+28
-15
lines changed

1 file changed

+28
-15
lines changed

.github/workflows/build.yml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,41 @@ on: [push]
55
jobs:
66

77
build:
8+
name: ${{ matrix.build }} ${{ matrix.arch }}
89
runs-on: ${{ matrix.os }}
910

1011
strategy:
1112
fail-fast: false
1213
matrix:
13-
# os: [ubuntu-latest, windows-latest, macos-latest]
14-
build: [ubuntu-x64, windows-x64, macos-universal]
15-
config: [Release]
14+
build: [linux, windows, macos]
15+
arch: [x64, arm64]
1616
include:
17-
- build: ubuntu-x64
17+
- build: linux
1818
os: ubuntu-latest
19-
triplet: x64-linux-release
19+
triplet: linux-release
2020
vcpkg-root: /usr/local/share/vcpkg
2121
extra-args: ""
22-
- build: windows-x64
22+
- build: windows
2323
os: windows-latest
24-
triplet: x64-win-llvm-static-release
24+
triplet: win-llvm-static-release
2525
vcpkg-root: C:\vcpkg
2626
extra-args: --overlay-triplets=./triplets
27-
- build: macos-universal
27+
- build: macos
2828
os: macos-latest
29-
triplet: universal-osx-release
29+
triplet: osx-release
30+
vcpkg-root: /usr/local/share/vcpkg
31+
extra-args: ""
32+
- build: macos
33+
os: macos-latest
34+
arch: universal
35+
triplet: osx-release
3036
vcpkg-root: /usr/local/share/vcpkg
3137
extra-args: --overlay-triplets=./triplets
32-
38+
exclude:
39+
- build: windows
40+
arch: arm64
3341
steps:
34-
- uses: actions/checkout@v3
42+
- uses: actions/checkout@v4
3543

3644
- name: Set up build environment (macos-latest)
3745
run: |
@@ -43,6 +51,11 @@ jobs:
4351
sudo apt -y install nasm
4452
if: matrix.os == 'ubuntu-latest'
4553

54+
- name: Set up build environment (arm64 ubuntu-latest)
55+
run: |
56+
sudo apt-get install -qy binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
57+
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
58+
4659
- name: Patch vcpkg
4760
run: |
4861
(cd ${{ matrix.vcpkg-root }} && git fetch origin)
@@ -52,10 +65,10 @@ jobs:
5265
5366
- name: Build ffmpeg
5467
run: |
55-
vcpkg ${{ matrix.extra-args }} install ffmpeg[avcodec,avfilter,avdevice,avformat,swresample,swscale]:${{ matrix.triplet }}
68+
vcpkg ${{ matrix.extra-args }} install ffmpeg[avcodec,avfilter,avdevice,avformat,swresample,swscale]:${{ matrix.arch }}-${{ matrix.triplet }}
5669
57-
- uses: actions/upload-artifact@v3
70+
- uses: actions/upload-artifact@v4
5871
with:
59-
name: ffmpeg-${{ matrix.build }}
60-
path: ${{ matrix.vcpkg-root }}/packages/ffmpeg_${{ matrix.triplet }}/lib
72+
name: ffmpeg-${{ matrix.build }}-${{ matrix.arch }}
73+
path: ${{ matrix.vcpkg-root }}/packages/ffmpeg_${{ matrix.arch }}-${{ matrix.triplet }}/lib
6174
if: ${{ always() }}

0 commit comments

Comments
 (0)