From a18aef6262af4b20b60a44a790b3f6fceb9f61bc Mon Sep 17 00:00:00 2001 From: "liang.he@intel.com" Date: Thu, 18 Dec 2025 06:23:40 +0000 Subject: [PATCH 1/3] fix: update macOS workflow configurations to use macos-15 and macos-15-intel --- .github/workflows/build_llvm_libraries.yml | 8 +++--- .github/workflows/compilation_on_macos.yml | 32 ++++++++++++++-------- .github/workflows/release_process.yml | 15 ++++++---- .github/workflows/wamr_wasi_extensions.yml | 5 ++-- 4 files changed, 37 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build_llvm_libraries.yml b/.github/workflows/build_llvm_libraries.yml index 35176557c1..616e59ba41 100644 --- a/.github/workflows/build_llvm_libraries.yml +++ b/.github/workflows/build_llvm_libraries.yml @@ -47,14 +47,14 @@ jobs: - name: checkout uses: actions/checkout@v6.0.1 - - name: install dependencies for non macos-14 - if: inputs.os != 'macos-14' + - name: install dependencies for non macos + if: !startsWith(inputs.os, 'macos') shell: bash run: /usr/bin/env python3 -m pip install -r requirements.txt working-directory: build-scripts - - name: install dependencies for macos-14 - if: inputs.os == 'macos-14' + - name: install dependencies for macos + if: startsWith(inputs.os, 'macos') run: /usr/bin/env python3 -m pip install -r requirements.txt --break-system-packages working-directory: build-scripts diff --git a/.github/workflows/compilation_on_macos.yml b/.github/workflows/compilation_on_macos.yml index e940649eb8..2177747702 100644 --- a/.github/workflows/compilation_on_macos.yml +++ b/.github/workflows/compilation_on_macos.yml @@ -65,7 +65,7 @@ jobs: actions: write uses: ./.github/workflows/build_llvm_libraries.yml with: - os: "macos-13" + os: "macos-15-intel" arch: "X86" build_llvm_libraries_on_arm_macos: permissions: @@ -73,17 +73,20 @@ jobs: actions: write uses: ./.github/workflows/build_llvm_libraries.yml with: - os: "macos-14" + os: "macos-15" arch: "AArch64 ARM" build_wamrc: - needs: [build_llvm_libraries_on_intel_macos] + needs: [build_llvm_libraries_on_intel_macos, build_llvm_libraries_on_arm_macos] runs-on: ${{ matrix.os }} strategy: matrix: + os: [macos-15, macos-15-intel] include: - - os: macos-13 + - os: macos-15-intel llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} + - os: macos-15 + llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }} steps: - name: checkout uses: actions/checkout@v6.0.1 @@ -112,7 +115,7 @@ jobs: working-directory: wamr-compiler build_iwasm: - needs: [build_llvm_libraries_on_intel_macos] + needs: [build_llvm_libraries_on_intel_macos, build_llvm_libraries_on_arm_macos] runs-on: ${{ matrix.os }} strategy: matrix: @@ -142,7 +145,7 @@ jobs: "-DWAMR_DISABLE_HW_BOUND_CHECK=1", "-DWAMR_BUILD_EXTENDED_CONST_EXPR=1", ] - os: [macos-13] + os: [macos-15, macos-15-intel] platform: [darwin] exclude: # incompatible feature and platform @@ -179,7 +182,9 @@ jobs: - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1" include: - - os: macos-13 + - os: macos-15 + llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }} + - os: macos-15-intel llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} # classic interp doesn't support SIMD - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS @@ -218,6 +223,7 @@ jobs: [ build_iwasm, build_llvm_libraries_on_intel_macos, + build_llvm_libraries_on_arm_macos, build_wamrc, ] runs-on: ${{ matrix.os }} @@ -232,9 +238,11 @@ jobs: $LLVM_EAGER_JIT_BUILD_OPTIONS, $MULTI_TIER_JIT_BUILD_OPTIONS, ] - os: [macos-13] + os: [macos-15, macos-15-intel] include: - - os: macos-13 + - os: macos-15 + llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }} + - os: macos-15-intel llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} # classic interp doesn't support SIMD - make_options: $CLASSIC_INTERP_BUILD_OPTIONS @@ -303,11 +311,11 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-13, macos-14] + os: [macos-15-intel, macos-15] include: - - os: macos-13 + - os: macos-15-intel llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} - - os: macos-14 + - os: macos-15 llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }} steps: - name: checkout diff --git a/.github/workflows/release_process.yml b/.github/workflows/release_process.yml index b911631f75..77a121c0f1 100644 --- a/.github/workflows/release_process.yml +++ b/.github/workflows/release_process.yml @@ -88,6 +88,7 @@ jobs: os: "ubuntu-22.04" arch: "AArch64 ARM Mips RISCV X86" + #CLARIFY: Require to build LLVM libraries on ARM macOS? build_llvm_libraries_on_macos: permissions: contents: read @@ -95,7 +96,7 @@ jobs: needs: [create_tag, create_release] uses: ./.github/workflows/build_llvm_libraries.yml with: - os: "macos-13" + os: "macos-15-intel" arch: "AArch64 ARM Mips RISCV X86" build_llvm_libraries_on_windows: @@ -122,6 +123,7 @@ jobs: upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver }} + #CLARIFY: Require to release wamrc on ARM macOS? release_wamrc_on_ubuntu_macos: permissions: contents: write # upload release artifact @@ -130,7 +132,7 @@ jobs: with: llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }} release: true - runner: macos-13 + runner: macos-15-intel upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver }} @@ -160,6 +162,7 @@ jobs: upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver}} + #CLARIFY: Require to release iwasm on ARM macOS? release_iwasm_on_macos: permissions: contents: write # upload release artifact @@ -168,7 +171,7 @@ jobs: with: cwd: product-mini/platforms/darwin llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }} - runner: macos-13 + runner: macos-15-intel upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver}} @@ -200,6 +203,7 @@ jobs: wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git + #CLARIFY: Require to release WAMR SDK on ARM macOS? release_wamr_sdk_on_macos: permissions: contents: write # upload release artifact @@ -208,7 +212,7 @@ jobs: uses: ./.github/workflows/build_wamr_sdk.yml with: config_file: wamr_config_macos_release.cmake - runner: macos-13 + runner: macos-15-intel upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver}} wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-macos.tar.gz @@ -251,6 +255,7 @@ jobs: upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver}} + #CLARIFY: Require to release WAMR LLDB on ARM macOS? release_wamr_lldb_on_macos_universal: permissions: contents: write # upload release artifact @@ -258,7 +263,7 @@ jobs: if: ${{ inputs.release_wamr_lldb }} uses: ./.github/workflows/build_wamr_lldb.yml with: - runner: macos-13 + runner: macos-15-intel arch: universal upload_url: ${{ needs.create_release.outputs.upload_url }} ver_num: ${{ needs.create_tag.outputs.new_ver}} diff --git a/.github/workflows/wamr_wasi_extensions.yml b/.github/workflows/wamr_wasi_extensions.yml index 7b315a9d89..b21008e703 100644 --- a/.github/workflows/wamr_wasi_extensions.yml +++ b/.github/workflows/wamr_wasi_extensions.yml @@ -27,7 +27,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-22.04, macos-13, macos-14] + os: [ubuntu-22.04, macos-15-intel, macos-15] steps: - name: checkout uses: actions/checkout@v6.0.1 @@ -48,8 +48,9 @@ jobs: ./build_samples.sh $(pwd)/dist/wamr-wasi-extensions working-directory: wamr-wasi-extensions + #CLARIFY: Require to upload artifact on ARM macOS? - name: Upload artifacts - if: matrix.os == 'macos-14' + if: matrix.os == 'macos-15' uses: actions/upload-artifact@v6.0.0 with: name: wamr-wasi-extensions From dd905d00cb8b6372720de590497e0a200e9c02fd Mon Sep 17 00:00:00 2001 From: "liang.he@intel.com" Date: Tue, 23 Dec 2025 01:11:46 +0000 Subject: [PATCH 2/3] fix: update macOS setup steps to reflect new OS versions and improve clarity --- .../actions/install-wasi-sdk-wabt/action.yml | 20 +++++++++---------- .github/workflows/build_llvm_libraries.yml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/actions/install-wasi-sdk-wabt/action.yml b/.github/actions/install-wasi-sdk-wabt/action.yml index 6b79087c26..31d22c18d5 100644 --- a/.github/actions/install-wasi-sdk-wabt/action.yml +++ b/.github/actions/install-wasi-sdk-wabt/action.yml @@ -50,18 +50,18 @@ runs: echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on ubuntu" working-directory: /opt - - name: Set up wasi-sdk and wabt on macOS-13 (intel) - if: ${{ inputs.os == 'macos-13' }} + - name: Set up wasi-sdk and wabt on macOS on Intel + if: ${{ inputs.os == 'macos-15-intel' }} shell: bash run: | - echo "Downloading wasi-sdk for macOS-13..." + echo "Downloading wasi-sdk for macOS on Intel..." sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-macos.tar.gz echo "Extracting wasi-sdk..." sudo tar -xf wasi-sdk.tar.gz sudo ln -sf wasi-sdk-25.0-x86_64-macos wasi-sdk - echo "Downloading wabt for macOS-13..." + echo "Downloading wabt for macOS on Intel..." sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.36/wabt-1.0.36-macos-12.tar.gz echo "Extracting wabt..." @@ -71,21 +71,21 @@ runs: /opt/wasi-sdk/bin/clang --version /opt/wabt/bin/wasm-interp --version - echo "::notice::wasi-sdk-25 and wabt-1.0.36 installed on macos-13" + echo "::notice::wasi-sdk-25 and wabt-1.0.36 installed on ${{ inputs.os }}" working-directory: /opt - - name: Set up wasi-sdk and wabt on macOS-14 (arm64) - if: ${{ inputs.os == 'macos-14' }} + - name: Set up wasi-sdk and wabt on macOS on ARM + if: ${{ inputs.os == 'macos-15' }} shell: bash run: | - echo "Downloading wasi-sdk for macOS-14..." + echo "Downloading wasi-sdk for macOS on ARM..." sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-macos.tar.gz echo "Extracting wasi-sdk..." sudo tar -xf wasi-sdk.tar.gz sudo ln -sf wasi-sdk-25.0-arm64-macos wasi-sdk - echo "Downloading wabt for macOS-14..." + echo "Downloading wabt for macOS on ARM..." sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.37/wabt-1.0.37-macos-14.tar.gz echo "Extracting wabt..." @@ -95,7 +95,7 @@ runs: /opt/wasi-sdk/bin/clang --version /opt/wabt/bin/wasm-interp --version - echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on macos-14" + echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on ${{ inputs.os }}" working-directory: /opt - name: Set up wasi-sdk and wabt on Windows diff --git a/.github/workflows/build_llvm_libraries.yml b/.github/workflows/build_llvm_libraries.yml index 616e59ba41..5141bb6180 100644 --- a/.github/workflows/build_llvm_libraries.yml +++ b/.github/workflows/build_llvm_libraries.yml @@ -48,7 +48,7 @@ jobs: uses: actions/checkout@v6.0.1 - name: install dependencies for non macos - if: !startsWith(inputs.os, 'macos') + if: ${{ !startsWith(inputs.os, 'macos') }} shell: bash run: /usr/bin/env python3 -m pip install -r requirements.txt working-directory: build-scripts From 7f4ae7dca9417b3977abacf04ebfc6bc0a07c507 Mon Sep 17 00:00:00 2001 From: "liang.he@intel.com" Date: Tue, 23 Dec 2025 03:54:24 +0000 Subject: [PATCH 3/3] fix: remove unsupported build options for macOS workflows --- .github/workflows/compilation_on_macos.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/compilation_on_macos.yml b/.github/workflows/compilation_on_macos.yml index 2177747702..9fcc34b435 100644 --- a/.github/workflows/compilation_on_macos.yml +++ b/.github/workflows/compilation_on_macos.yml @@ -233,10 +233,8 @@ jobs: $AOT_BUILD_OPTIONS, $CLASSIC_INTERP_BUILD_OPTIONS, $FAST_INTERP_BUILD_OPTIONS, - $FAST_JIT_BUILD_OPTIONS, $LLVM_LAZY_JIT_BUILD_OPTIONS, $LLVM_EAGER_JIT_BUILD_OPTIONS, - $MULTI_TIER_JIT_BUILD_OPTIONS, ] os: [macos-15, macos-15-intel] include: @@ -247,12 +245,6 @@ jobs: # classic interp doesn't support SIMD - make_options: $CLASSIC_INTERP_BUILD_OPTIONS extra_options: "-DWAMR_BUILD_SIMD=0" - # fast jit doesn't support Multi-module and SIMD - - make_options: $FAST_JIT_BUILD_OPTIONS - extra_options: "-DWAMR_BUILD_SIMD=0 -DWAMR_BUILD_MULTI_MODULE=0" - # multi-tier jit doesn't support Multi-module and SIMD - - make_options: $MULTI_TIER_JIT_BUILD_OPTIONS - extra_options: "-DWAMR_BUILD_SIMD=0 -DWAMR_BUILD_MULTI_MODULE=0" # LLVM JIT doesn't support Multi-module - make_options: $LLVM_LAZY_JIT_BUILD_OPTIONS extra_options: "-DWAMR_BUILD_MULTI_MODULE=0"