Skip to content

Commit 48b3b7f

Browse files
committed
Update CI.
1 parent 9218172 commit 48b3b7f

File tree

1 file changed

+43
-7
lines changed

1 file changed

+43
-7
lines changed

.github/workflows/ci.yml

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
os: [ubuntu-latest, macOS-latest, windows-latest]
1818
arch: [x64]
1919
steps:
20-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v3
2121
- uses: julia-actions/setup-julia@v1
2222
with:
2323
version: ${{ matrix.version }}
@@ -40,29 +40,63 @@ jobs:
4040
file: lcov.info
4141

4242
# development versions, built from source (with assertions enabled)
43-
# XXX: skip 1.6 as that requires gfortran, which isn't available on macOS runners
44-
# XXX: can we even perform Windows builds like this (i.e., without mingw/cygwin)?
4543
source_test:
4644
name: Julia ${{ matrix.branch }} - ${{ matrix.os }} - ${{ matrix.arch }}
4745
runs-on: ${{ matrix.os }}
4846
strategy:
4947
fail-fast: false
5048
matrix:
51-
branch: ['release-1.7', 'release-1.8', 'release-1.9', 'master']
52-
os: [ubuntu-latest, macOS-latest]
49+
branch: ['release-1.6', 'release-1.7', 'release-1.8', 'release-1.9', 'master']
50+
os: ['ubuntu-latest', 'macOS-latest', 'windows-latest']
5351
arch: [x64]
52+
exclude:
53+
# JuliaLang/julia#48081
54+
- branch: 'master'
55+
os: 'windows-latest'
56+
arch: 'x64'
57+
# hangs
58+
- branch: 'master'
59+
os: 'macOS-latest'
60+
arch: 'x64'
61+
# 1.6 requires gfortran, which isn't available on macOS runners
62+
- branch: 'release-1.6'
63+
os: 'macOS-latest'
64+
arch: 'x64'
5465
steps:
55-
- uses: actions/checkout@v2
56-
- uses: actions/checkout@v2
66+
- uses: actions/checkout@v3
67+
- uses: actions/checkout@v3
5768
with:
5869
repository: 'JuliaLang/julia'
5970
ref: ${{ matrix.branch }}
6071
path: 'julia'
72+
73+
- name: Install MSYS2
74+
uses: msys2/setup-msys2@v2
75+
with:
76+
path-type: inherit
77+
install: mingw-w64-x86_64-gcc cmake diffutils git m4 make patch tar p7zip curl python
78+
if: runner.os == 'Windows'
79+
80+
# compile Julia
6181
- name: Compile Julia
6282
run: |
6383
sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum
6484
make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0
6585
echo $PWD/julia/usr/bin >> $GITHUB_PATH
86+
if: runner.os != 'Windows'
87+
- name: Compile Julia (in msys2)
88+
shell: msys2 {0}
89+
run: |
90+
echo $PWD
91+
sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum
92+
# XXX: workaround for JuliaLang/julia#48081
93+
make -C julia/deps install-csl && \
94+
cp ${MINGW_PREFIX}/lib/libmsvcrt.a ./julia/usr/lib/libmsvcrt.a && \
95+
make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0
96+
echo $PWD/julia/usr/bin >> $GITHUB_PATH
97+
if: runner.os == 'Windows'
98+
99+
# set-up packages
66100
- uses: actions/cache@v1
67101
env:
68102
cache-name: cache-artifacts
@@ -74,7 +108,9 @@ jobs:
74108
${{ runner.os }}-test-
75109
${{ runner.os }}-
76110
- uses: julia-actions/julia-buildpkg@v1
111+
77112
- uses: julia-actions/julia-runtest@v1
113+
78114
- uses: julia-actions/julia-processcoverage@v1
79115
- uses: codecov/codecov-action@v1
80116
with:

0 commit comments

Comments
 (0)