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
2415permissions :
2516 contents : write
2617
2718jobs :
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