Support Arm dynamic linking #1085
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Github Actions | |
on: [push, pull_request] | |
jobs: | |
host-x86: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
compiler: [gcc, clang] | |
architecture: [arm, riscv] | |
link_mode: [static] | |
include: | |
- compiler: gcc | |
architecture: arm | |
link_mode: dynamic | |
- compiler: clang | |
architecture: arm | |
link_mode: dynamic | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
run: | | |
sudo apt-get update -q -y | |
sudo apt-get install -q -y graphviz jq | |
sudo apt-get install -q -y qemu-user | |
sudo apt-get install -q -y build-essential | |
sudo apt-get install -q -y gcc-arm-linux-gnueabihf | |
- name: Build artifacts | |
env: | |
CC: ${{ matrix.compiler }} | |
run: | | |
make ARCH=${{ matrix.architecture }} LINK_MODE=${{ matrix.link_mode }} | |
- name: IR regression tests | |
run: | | |
make check-snapshot LINK_MODE=${{ matrix.link_mode }} || exit 1 | |
- name: Sanitizer-enabled stage 0 tests | |
env: | |
CC: ${{ matrix.compiler }} | |
run: | | |
make check-sanitizer LINK_MODE=${{ matrix.link_mode }} || exit 1 | |
- name: Unit tests | |
run: | | |
make check LINK_MODE=${{ matrix.link_mode }} || exit 1 | |
host-arm: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
link_mode: [static, dynamic] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build artifacts | |
# The GitHub Action for non-x86 CPU | |
# https://github.com/uraimo/run-on-arch-action | |
uses: uraimo/run-on-arch-action@v3 | |
with: | |
arch: armv7 | |
distro: ubuntu24.04 | |
githubToken: ${{ github.token }} | |
install: | | |
apt-get update -qq -y | |
apt-get install -yqq build-essential | |
run: | | |
make ARCH=arm LINK_MODE=${{ matrix.link_mode }} | |
make check-sanitizer LINK_MODE=${{ matrix.link_mode }} || exit 1 | |
make check LINK_MODE=${{ matrix.link_mode }} || exit 1 | |
coding-style: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Coding convention | |
run: | | |
sudo apt-get install -q -y clang-format-18 | |
.ci/check-newline.sh | |
.ci/check-format.sh | |
shell: bash |