-
Notifications
You must be signed in to change notification settings - Fork 4
48 lines (45 loc) · 1.65 KB
/
macos.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
on:
push:
branches:
- main
pull_request:
jobs:
test:
runs-on: macos-latest
timeout-minutes: 5
strategy:
matrix:
# Testing all levels because there was a bug that only happened with -O1. (#224)
opt-level: ['-O0', '-O1', '-O2', '-O3']
llvm-version: ['14', '15']
env:
LLVM_CONFIG: "/usr/local/opt/llvm@${{ matrix.llvm-version }}/bin/llvm-config"
steps:
- uses: actions/checkout@v3
- run: brew install bash diffutils llvm@${{ matrix.llvm-version }}
- name: "Select LLVM version"
run: |
echo "LLVM_CONFIG=/usr/local/opt/llvm@${{ matrix.llvm-version }}/bin/llvm-config" >> $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
shell: bash
run: |
if [ "$(git status --porcelain --ignored)" != "" ]; then
git status --ignored
exit 1
fi
doctest:
runs-on: macos-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- run: brew install bash diffutils llvm@15
- run: ./doctest.sh