Skip to content

Commit ba3d82d

Browse files
authored
Test LLVM with assertions on CI. (#334)
1 parent 51f9309 commit ba3d82d

File tree

1 file changed

+50
-1
lines changed

1 file changed

+50
-1
lines changed

.github/workflows/ci.yml

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
pull_request:
77
workflow_dispatch:
88
jobs:
9-
test:
9+
binary_test:
1010
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
1111
runs-on: ${{ matrix.os }}
1212
strategy:
@@ -58,6 +58,55 @@ jobs:
5858
with:
5959
file: lcov.info
6060

61+
# development versions, built from source (with assertions enabled)
62+
# XXX: skip 1.6 as that requires gfortran, which isn't available on macOS runners
63+
# XXX: build Windows using mingw or msys2
64+
source_test:
65+
name: Julia ${{ matrix.branch }} - ${{ matrix.os }} - ${{ matrix.arch }}
66+
runs-on: ${{ matrix.os }}
67+
strategy:
68+
fail-fast: false
69+
matrix:
70+
branch: ['release-1.7', 'release-1.8', 'release-1.9', 'master']
71+
os: [ubuntu-latest, macOS-latest]
72+
arch: [x64]
73+
steps:
74+
- uses: actions/checkout@v3
75+
with:
76+
fetch-depth: 0 # build_ci.jl needs to be able to inspect the git log
77+
- uses: actions/checkout@v3
78+
with:
79+
repository: 'JuliaLang/julia'
80+
ref: ${{ matrix.branch }}
81+
path: 'julia'
82+
- name: Compile Julia
83+
run: |
84+
sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum
85+
make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0
86+
echo $PWD/julia/usr/bin >> $GITHUB_PATH
87+
- uses: actions/cache@v1
88+
env:
89+
cache-name: cache-artifacts
90+
with:
91+
path: ~/.julia/artifacts
92+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
93+
restore-keys: |
94+
${{ runner.os }}-test-${{ env.cache-name }}-
95+
${{ runner.os }}-test-
96+
${{ runner.os }}-
97+
- uses: julia-actions/julia-buildpkg@v1
98+
99+
- name: Build libLLVMExtra
100+
run: julia --project=deps deps/build_ci.jl
101+
if: runner.os != 'Windows'
102+
103+
- name: Run tests
104+
run: julia --project -e 'using Pkg; Pkg.test(; coverage=true, julia_args=`-g2`)'
105+
- uses: julia-actions/julia-processcoverage@v1
106+
- uses: codecov/codecov-action@v1
107+
with:
108+
file: lcov.info
109+
61110
docs:
62111
name: Documentation
63112
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)