Skip to content

Commit 49f5bef

Browse files
committed
Use Arm64 runners to validate native bootstrapping and run test cases
Since the build system has been updated to allow native execution on Arm-hosted runners, this commit improves the workflow definitions by running the "host-arm" job on Arm64 runners to perform validation. As a result of these changes, the "host-arm" job no longer uses "run-on-arch-action".
1 parent ff82570 commit 49f5bef

1 file changed

Lines changed: 29 additions & 24 deletions

File tree

.github/workflows/main.yml

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,37 +55,42 @@ jobs:
5555
make check DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }} || exit 1
5656
5757
host-arm:
58-
runs-on: ubuntu-24.04
58+
runs-on: ubuntu-24.04-arm
5959
strategy:
6060
matrix:
6161
link_mode: [static, dynamic]
6262
steps:
63-
- name: Checkout code
64-
uses: actions/checkout@v4
65-
- name: Determine static or dynamic linking mode
66-
id: determine-mode
67-
run: |
68-
if [ "${{ matrix.link_mode }}" = "dynamic" ]; then
69-
echo "Use dynamic linking mode"
70-
echo "DYNLINK=1" >> "$GITHUB_OUTPUT"
71-
else
72-
echo "Use static linking mode"
73-
echo "DYNLINK=0" >> "$GITHUB_OUTPUT"
74-
fi
75-
- name: Build artifacts
76-
# The GitHub Action for non-x86 CPU
77-
# https://github.com/uraimo/run-on-arch-action
78-
uses: uraimo/run-on-arch-action@v3
79-
with:
80-
arch: armv7
81-
distro: ubuntu24.04
82-
githubToken: ${{ github.token }}
83-
install: |
84-
apt-get update -qq -y
85-
apt-get install -yqq build-essential
63+
- name: Checkout code
64+
uses: actions/checkout@v4
65+
66+
- name: Download dependencies
67+
run: |
68+
sudo dpkg --add-architecture armhf
69+
sudo apt-get update -q -y
70+
sudo apt-get install -q -y graphviz jq
71+
sudo apt-get install -q -y build-essential libc6:armhf
72+
73+
- name: Determine static or dynamic linking mode
74+
id: determine-mode
75+
run: |
76+
if [ "${{ matrix.link_mode }}" = "dynamic" ]; then
77+
echo "Use dynamic linking mode"
78+
echo "DYNLINK=1" >> "$GITHUB_OUTPUT"
79+
else
80+
echo "Use static linking mode"
81+
echo "DYNLINK=0" >> "$GITHUB_OUTPUT"
82+
fi
83+
84+
- name: Build artifacts
8685
run: |
8786
make ARCH=arm DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }}
87+
88+
- name: Sanitizer-enabled stage 0 tests
89+
run: |
8890
make check-sanitizer DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }} || exit 1
91+
92+
- name: Unit tests
93+
run: |
8994
make check DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }} || exit 1
9095
9196
preprocessor-host:

0 commit comments

Comments
 (0)