Skip to content

Make self-hosted compiler the default and introduce bootstrapping #1420

Make self-hosted compiler the default and introduce bootstrapping

Make self-hosted compiler the default and introduce bootstrapping #1420

Workflow file for this run

on:
push:
branches:
- main
pull_request:
jobs:
shellcheck:
timeout-minutes: 1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: shellcheck --color=always --shell=bash --exclude=SC2086,SC2059,SC2046,SC2235,SC2002,SC2206,SC2068,SC2207,SC2013 *.sh activate
editorconfig-checker:
timeout-minutes: 1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Hard-coded commit, because the latest changes aren't tagged.
- uses: editorconfig-checker/action-editorconfig-checker@d4fca16fc71adef10fbe101903b654449fa9570c
with:
version: 2.7.0
- run: editorconfig-checker
test:
timeout-minutes: 5
runs-on: ubuntu-22.04
strategy:
matrix:
llvm-version: [11, 13, 14]
# Testing all levels because there was a bug that only happened with -O1. (#224)
opt-level: ['-O0', '-O1', '-O2', '-O3']
steps:
- uses: actions/checkout@v3
- run: sudo apt update
- run: sudo apt install -y llvm-${{ matrix.llvm-version }}-dev clang-${{ matrix.llvm-version }} make
- run: echo "LLVM_CONFIG=llvm-config-${{ matrix.llvm-version }}" >> $GITHUB_ENV
- name: "Compile and test stage 1 compiler"
run: ./runtests.sh --verbose --jou-flags "${{ matrix.opt-level }}" --stage1
- name: "Compile and test stage 2 compiler"
run: ./runtests.sh --verbose --jou-flags "${{ matrix.opt-level }}" --stage2
- name: "Compile and test stage 3 compiler"
run: ./runtests.sh --verbose --jou-flags "${{ matrix.opt-level }}"
- name: "Test stage 3 compiler with the compiler's --verbose flag"
run: ./runtests.sh --verbose --jou-flags "${{ matrix.opt-level }} --verbose"
- run: make clean
- name: Check that "make clean" deleted all files not committed to Git
run: |
if [ "$(git status --porcelain --ignored)" != "" ]; then
git status --ignored
exit 1
fi
doctest:
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- run: sudo apt update
- run: sudo apt install -y llvm-{11,13,14}-dev clang-{11,13,14} make
- run: LLVM_CONFIG=llvm-config-11 ./doctest.sh
- run: make clean
- run: LLVM_CONFIG=llvm-config-13 ./doctest.sh
- run: make clean
- run: LLVM_CONFIG=llvm-config-14 ./doctest.sh