CI: Update macOS runner to macos-15, add amalgamated build, cache emsdk. (#441)

This commit is contained in:
Branimir Karadžić
2026-10-03 15:08:40 -07:00
committed by GitHub
parent f9ab4e00fe
commit 2423bac0a4

View File

@@ -108,8 +108,8 @@ jobs:
fail-fast: true
matrix:
include: [
{ runs-on: macos-14, arch: osx-arm64, bindir: osx-arm64, config: debug, binsuffix: Debug },
{ runs-on: macos-14, arch: osx-arm64, bindir: osx-arm64, config: release, binsuffix: Release },
{ runs-on: macos-15, arch: osx-arm64, bindir: osx-arm64, config: debug, binsuffix: Debug },
{ runs-on: macos-15, arch: osx-arm64, bindir: osx-arm64, config: release, binsuffix: Release },
]
name: osx-${{ matrix.arch }}-${{ matrix.config }}
runs-on: ${{ matrix.runs-on }}
@@ -176,6 +176,7 @@ jobs:
- uses: mymindstorm/setup-emsdk@v14
with:
version: 5.0.2
actions-cache-folder: emsdk-cache
- uses: browser-actions/setup-chrome@v1
- name: Build
run: |
@@ -186,3 +187,64 @@ jobs:
run: |
cd bx
# npx http-server -o .build/wasm/bin/ & chromium http://127.0.0.1:8080/.build/wasm/bin/bx.testRelease.html
amalgamated:
strategy:
fail-fast: true
matrix:
include: [
{ name: msvc, runs-on: windows-latest },
{ name: linux-gcc, runs-on: ubuntu-24.04, os: linux, config: release64, bindir: linux64_gcc },
{ name: linux-clang, runs-on: ubuntu-24.04, os: linux, config: release64, bindir: linux64_clang },
{ name: osx-arm64, runs-on: macos-15, os: darwin, config: release, bindir: osx-arm64 },
{ name: android-arm64, runs-on: ubuntu-24.04, os: linux, config: release },
{ name: wasm, runs-on: ubuntu-24.04, os: linux, config: release, make-args: 'EMSCRIPTEN=$EMSDK/upstream/emscripten' },
]
name: amalgamated-${{ matrix.name }}
runs-on: ${{ matrix.runs-on }}
steps:
- name: Checkout bx
uses: actions/checkout@v6
with:
repository: ${{ github.repository }}
path: bx
- name: Prepare
if: matrix.name == 'msvc'
uses: microsoft/setup-msbuild@v2
- uses: nttld/setup-ndk@v1
if: startsWith(matrix.name, 'android')
id: setup-ndk
with:
ndk-version: r27c
- uses: mymindstorm/setup-emsdk@v14
if: matrix.name == 'wasm'
with:
version: 5.0.2
actions-cache-folder: emsdk-cache
- name: Build
if: matrix.name == 'msvc'
shell: cmd
run: |
cd bx
tools\bin\windows\genie.exe --with-amalgamated vs2022
msbuild ".build/projects/vs2022/bx.sln" /m /v:minimal /p:Configuration=Release /p:Platform=x64
- name: Build
if: matrix.name != 'msvc'
env:
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_ARM: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_ARM64: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
cd bx
tools/bin/${{ matrix.os }}/genie --with-amalgamated --gcc=${{ matrix.name }} gmake
make -C .build/projects/gmake-${{ matrix.name }} config=${{ matrix.config }} -j$(getconf _NPROCESSORS_ONLN) ${{ matrix.make-args }}
- name: Check
if: matrix.name == 'msvc'
shell: cmd
run: |
cd bx
".build\win64_vs2022\bin\bx.testRelease.exe" -d yes
- name: Check
if: matrix.bindir
run: |
cd bx
".build/${{ matrix.bindir }}/bin/bx.testRelease" -d yes