Skip to content

Major frontend refactor #1138

Major frontend refactor

Major frontend refactor #1138

Workflow file for this run

name: Github Actions
on: [push, pull_request]
jobs:
host-x86:
runs-on: ubuntu-24.04
strategy:
matrix:
compiler: [gcc, clang]
architecture: [arm, riscv]
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
- name: Build artifacts
env:
CC: ${{ matrix.compiler }}
run: |
make distclean config ARCH=${{ matrix.architecture }}
- name: IR regression tests
run: |
make check-snapshot || exit 1
- name: Sanitizer-enabled stage 0 tests
env:
CC: ${{ matrix.compiler }}
run: |
make check-sanitizer || exit 1
- name: Unit tests
run: |
make check || exit 1
host-arm:
runs-on: ubuntu-24.04
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 config ARCH=arm
make check-sanitizer || exit 1
make check || exit 1
preprocessor-host:
runs-on: ubuntu-24.04
strategy:
matrix:
compiler: [gcc, clang]
architecture: [arm, riscv]
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
- name: Configurate config
run: |
make distclean config ARCH=${{ matrix.architecture }}
- name: Preprocess stage 1 source code
env:
CC: ${{ matrix.compiler }}
run: |
make out/shecc
./out/shecc -E src/main.c > ./out/out.c
- name: Build stage 1 artifact
run: |
./out/shecc --no-libc -o out/shecc-stage1.elf ./out/out.c
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