Skip to content

Commit fa62d30

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 3391d79 commit fa62d30

1 file changed

Lines changed: 31 additions & 24 deletions

File tree

.github/workflows/main.yml

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,37 +55,44 @@ 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+
sudo wget https://github.com/fastfetch-cli/fastfetch/releases/download/2.58.0/fastfetch-linux-aarch64.deb
73+
sudo dpkg -i fastfetch-linux-aarch64.deb
74+
75+
- name: Determine static or dynamic linking mode
76+
id: determine-mode
77+
run: |
78+
if [ "${{ matrix.link_mode }}" = "dynamic" ]; then
79+
echo "Use dynamic linking mode"
80+
echo "DYNLINK=1" >> "$GITHUB_OUTPUT"
81+
else
82+
echo "Use static linking mode"
83+
echo "DYNLINK=0" >> "$GITHUB_OUTPUT"
84+
fi
85+
86+
- name: Build artifacts
8687
run: |
8788
make ARCH=arm DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }}
89+
90+
- name: Sanitizer-enabled stage 0 tests
91+
run: |
8892
make check-sanitizer DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }} || exit 1
93+
94+
- name: Unit tests
95+
run: |
8996
make check DYNLINK=${{ steps.determine-mode.outputs.DYNLINK }} || exit 1
9097
9198
preprocessor-host:

0 commit comments

Comments
 (0)