Fix TODO: the file itself cannot be imported #924
This file contains 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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
shellcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: shellcheck --color=always --shell=bash --exclude=SC2086,SC2059,SC2046,SC2235,SC2002,SC2206,SC2068 *.sh activate | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
llvm-version: [11, 13] | |
# 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 install -y llvm-${{ matrix.llvm-version }}-dev clang-${{ matrix.llvm-version }} make valgrind | |
- run: LLVM_CONFIG=llvm-config-${{ matrix.llvm-version }} make | |
- run: ./runtests.sh --verbose './jou ${{ matrix.opt-level }} %s' | |
- run: ./runtests.sh --verbose './jou ${{ matrix.opt-level }} --verbose %s' | |
# Valgrinding is slow. Do it only when this file or something in the compiler has been modified. | |
- name: Figure out if we need to run tests with valgrind | |
id: check-need-valgrind | |
run: | | |
git fetch https://github.com/Akuli/jou main | |
if git diff --name-only FETCH_HEAD HEAD | grep -E '(\.c|\.h)$|^tests/'; then | |
echo doit=yes >> $GITHUB_OUTPUT | |
else | |
echo doit=no >> $GITHUB_OUTPUT | |
fi | |
- if: ${{ steps.check-need-valgrind.outputs.doit == 'yes' }} | |
run: ./runtests.sh --verbose --valgrind './jou ${{ matrix.opt-level }} %s' | |
# valgrind+verbose isn't meaningful: test script would ignore valgrind output | |
- 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 | |
compare-compilers: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo apt install -y llvm-13-dev clang-13 make valgrind | |
- run: LLVM_CONFIG=llvm-config-13 make | |
- run: ./compare_compilers.sh | |
editorconfig-checker: | |
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 |