From 73386d6b9f61850c6ca16c964c88e7ab86b7851a Mon Sep 17 00:00:00 2001 From: daijro Date: Fri, 16 Aug 2024 18:00:21 -0500 Subject: [PATCH] CI/CD: Add target arch matrix --- .github/workflows/build.yml | 18 ++++++++++-------- multibuild.py | 3 +++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3bdefb8..a77d9cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,6 +12,14 @@ jobs: strategy: matrix: target: [linux, windows, macos] + arch: [x86_64, arm64, i686] + exclude: + # Fails (.mozbuild does not include clang++-cl) + - target: windows + arch: arm64 + # Unsuported + - target: macos + arch: i686 steps: - name: Maximize build space @@ -96,18 +104,12 @@ jobs: free -h - name: Build - run: python3 ./multibuild.py --target ${{ matrix.target }} --arch x86_64 - - - name: Save .mozbuild cache - uses: actions/cache/save@v3 - with: - path: ~/.mozbuild - key: mozbuild-${{ matrix.target }} + run: python3 ./multibuild.py --target ${{ matrix.target }} --arch ${{ matrix.arch }} - name: Upload artifacts uses: actions/upload-artifact@v2 with: - name: CamoufoxBuilds-${{ matrix.target }} + name: CamoufoxBuilds-${{ matrix.target }}-${{ matrix.arch }} path: dist/* release: diff --git a/multibuild.py b/multibuild.py index 27eb92e..2fbdc83 100644 --- a/multibuild.py +++ b/multibuild.py @@ -121,6 +121,9 @@ def main(): # Run build for target in args.target: for arch in args.arch: + if (target, arch) in [("windows", "arm64"), ("macos", "i686")]: + print(f"Skipping {target} {arch}: Unsuported architecture.") + continue run_build(target, arch)