Skip to content

Commit ce3fd2d

Browse files
Simplify deps workflow: separate x64 and arm64 jobs (no matrix filter)
Two explicit jobs run in parallel. Avoids matrix context issues with workflow_dispatch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent be55d17 commit ce3fd2d

1 file changed

Lines changed: 42 additions & 36 deletions

File tree

.github/workflows/build-deps-linux.yml

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,49 @@ on:
1111
description: 'Upload to this release tag (e.g., deps-v1.3.0). Leave empty to skip upload.'
1212
required: false
1313
type: string
14-
arch:
15-
description: 'Architecture'
16-
required: false
17-
type: choice
18-
options:
19-
- x64
20-
- arm64
21-
- both
22-
default: both
2314

2415
permissions:
2516
contents: write
2617

2718
jobs:
28-
build-deps:
29-
strategy:
30-
matrix:
31-
include:
32-
- os: ubuntu-22.04
33-
arch: x64
34-
- os: ubuntu-22.04-arm
35-
arch: arm64
36-
fail-fast: false
19+
build-x64:
20+
runs-on: ubuntu-22.04
21+
steps:
22+
- uses: actions/checkout@v4
3723

38-
runs-on: ${{ matrix.os }}
24+
- name: Install build dependencies
25+
run: |
26+
sudo apt-get update
27+
sudo apt-get install -y \
28+
ninja-build cmake nasm patchelf autoconf automake libtool \
29+
cython3 pkg-config gcc g++ python3-pip \
30+
libfftw3-dev libboost-filesystem-dev libboost-atomic-dev \
31+
ocl-icd-opencl-dev opencl-headers libdvdread-dev unzip
32+
pip3 install meson
3933
40-
if: inputs.arch == 'both' || inputs.arch == matrix.arch
34+
- name: Build dependencies
35+
run: ./Scripts/download-deps-linux.sh --force
4136

37+
- name: Package dependencies
38+
run: ./Scripts/package-deps-linux.sh --version "${{ inputs.version }}" --arch x64
39+
40+
- uses: actions/upload-artifact@v4
41+
with:
42+
name: VapourBox-deps-${{ inputs.version }}-linux-x64
43+
path: dist/VapourBox-deps-${{ inputs.version }}-linux-x64.zip
44+
45+
- name: Upload to release
46+
if: inputs.release_tag != ''
47+
env:
48+
GH_TOKEN: ${{ github.token }}
49+
run: |
50+
gh release upload "${{ inputs.release_tag }}" \
51+
"dist/VapourBox-deps-${{ inputs.version }}-linux-x64.zip" --clobber
52+
53+
build-arm64:
54+
runs-on: ubuntu-22.04-arm
4255
steps:
43-
- name: Checkout repository
44-
uses: actions/checkout@v4
56+
- uses: actions/checkout@v4
4557

4658
- name: Install build dependencies
4759
run: |
@@ -50,30 +62,24 @@ jobs:
5062
ninja-build cmake nasm patchelf autoconf automake libtool \
5163
cython3 pkg-config gcc g++ python3-pip \
5264
libfftw3-dev libboost-filesystem-dev libboost-atomic-dev \
53-
ocl-icd-opencl-dev opencl-headers libdvdread-dev \
54-
unzip
55-
# Ubuntu 22.04 ships meson 0.61 but VapourSynth needs >= 0.63
65+
ocl-icd-opencl-dev opencl-headers libdvdread-dev unzip
5666
pip3 install meson
5767
5868
- name: Build dependencies
59-
run: |
60-
./Scripts/download-deps-linux.sh --force
69+
run: ./Scripts/download-deps-linux.sh --force
6170

6271
- name: Package dependencies
63-
run: |
64-
./Scripts/package-deps-linux.sh --version "${{ inputs.version }}" --arch ${{ matrix.arch }}
72+
run: ./Scripts/package-deps-linux.sh --version "${{ inputs.version }}" --arch arm64
6573

66-
- name: Upload artifact
67-
uses: actions/upload-artifact@v4
74+
- uses: actions/upload-artifact@v4
6875
with:
69-
name: VapourBox-deps-${{ inputs.version }}-linux-${{ matrix.arch }}
70-
path: dist/VapourBox-deps-${{ inputs.version }}-linux-${{ matrix.arch }}.zip
76+
name: VapourBox-deps-${{ inputs.version }}-linux-arm64
77+
path: dist/VapourBox-deps-${{ inputs.version }}-linux-arm64.zip
7178

7279
- name: Upload to release
73-
if: ${{ inputs.release_tag != '' }}
80+
if: inputs.release_tag != ''
7481
env:
7582
GH_TOKEN: ${{ github.token }}
7683
run: |
7784
gh release upload "${{ inputs.release_tag }}" \
78-
"dist/VapourBox-deps-${{ inputs.version }}-linux-${{ matrix.arch }}.zip" \
79-
--clobber
85+
"dist/VapourBox-deps-${{ inputs.version }}-linux-arm64.zip" --clobber

0 commit comments

Comments
 (0)