From f256297bcb5817d9a78d6bf5efee1d88cec16785 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sun, 13 Sep 2026 13:56:45 +0100 Subject: [PATCH 1/3] [ci] Add linux arm64 build --- .github/workflows/main.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 95706e2ff..b4010b921 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -102,3 +102,17 @@ jobs: sep: / ext: .dso os: ubuntu-latest + + LinuxArm64: + strategy: + fail-fast: false + matrix: + haxe: [ latest ] # 4.3.7 doesn't have a linux arm build + uses: ./.github/workflows/test.yml + name: Test Linux (Arm64) + with: + haxe: ${{ matrix.haxe }} + arch: Arm64 + sep: / + ext: .dso + os: ubuntu-24.04-arm From 22dfb52403b831199961f123793b226f04c8ff82 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sun, 13 Sep 2026 14:00:16 +0100 Subject: [PATCH 2/3] [ci] Install gcc multilib only for linux 32 bit These packages don't exist on arm64 ubuntu, and they are not necessary for a 64-bit only x86 build anyway. --- .github/workflows/setup/action.yml | 5 ++++- .github/workflows/test.yml | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/setup/action.yml b/.github/workflows/setup/action.yml index 3b7dae26e..da24d4e35 100644 --- a/.github/workflows/setup/action.yml +++ b/.github/workflows/setup/action.yml @@ -3,6 +3,9 @@ inputs: haxe: required: true type: string + arch: + required: true + type: string runs: using: composite steps: @@ -20,7 +23,7 @@ runs: haxelib list - name: install native libraries - if: runner.os == 'Linux' + if: runner.os == 'Linux' && inputs.arch == 32 shell: pwsh run: | sudo apt-get update -qqy diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3eac4e98d..56621c1dd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,6 +35,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build run: haxe compile.hxml -D ${{ env.HXCPP_ARCH_FLAG }} - name: run @@ -53,6 +54,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build project working-directory: test/cffi/project run: haxelib run hxcpp build.xml -Ddebug -D${{ env.HXCPP_ARCH_FLAG }} @@ -93,6 +95,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build run: haxe compile.hxml ${{ matrix.suffix }} -D ${{ env.HXCPP_ARCH_FLAG }} - name: run @@ -111,6 +114,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build run: haxe compile.hxml -D ${{ env.HXCPP_ARCH_FLAG }} - name: run @@ -129,6 +133,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build run: haxe compile.hxml -D ${{ env.HXCPP_ARCH_FLAG }} - name: run @@ -147,6 +152,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: setup mariadb if: runner.os == 'Linux' run: | @@ -180,6 +186,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: build host run: haxe compile-host.hxml -D ${{ env.HXCPP_ARCH_FLAG }} - name: build client @@ -200,6 +207,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: Get Haxe commit SHA if: inputs.haxe == 'latest' id: haxe_sha @@ -248,6 +256,7 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: test c/cxx_standard attributes working-directory: test/cxx_standard shell: bash @@ -270,5 +279,6 @@ jobs: uses: ./.github/workflows/setup with: haxe: ${{ inputs.haxe }} + arch: ${{ inputs.arch }} - name: run run: haxe --run Run -D ${{ env.HXCPP_ARCH_FLAG }} From a50b560d18331a29e3075ad40b2c4f7877902399 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sun, 13 Sep 2026 14:10:53 +0100 Subject: [PATCH 3/3] [ci] Bump actions/checkout to latest version --- .github/workflows/main.yml | 2 +- .github/workflows/test.yml | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b4010b921..ddc68d76a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install pcre2grep run: sudo apt-get update && sudo apt-get install -y pcre2-utils diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 56621c1dd..00386bd9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: working-directory: test/haxe steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -49,7 +49,7 @@ jobs: working-directory: test/cffi steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -90,7 +90,7 @@ jobs: working-directory: test/telemetry steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -109,7 +109,7 @@ jobs: working-directory: test/debugger steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -128,7 +128,7 @@ jobs: working-directory: test/native steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -147,7 +147,7 @@ jobs: working-directory: test/std steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -181,7 +181,7 @@ jobs: working-directory: test/cppia steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -202,7 +202,7 @@ jobs: working-directory: haxe/tests/unit steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -225,14 +225,14 @@ jobs: echo "Commit SHA: $short_sha, Full SHA: $full_sha" - name: checkout haxe (latest) if: inputs.haxe == 'latest' - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: ref: ${{ steps.haxe_sha.outputs.sha }} repository: HaxeFoundation/haxe path: haxe - name: checkout haxe (stable) if: inputs.haxe != 'latest' - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: repository: HaxeFoundation/haxe path: haxe @@ -251,7 +251,7 @@ jobs: name: build tool tests steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: @@ -274,7 +274,7 @@ jobs: working-directory: test/regression steps: - name: checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: setup uses: ./.github/workflows/setup with: