17
17
os : [ubuntu-latest, macOS-latest, windows-latest]
18
18
arch : [x64]
19
19
steps :
20
- - uses : actions/checkout@v2
20
+ - uses : actions/checkout@v3
21
21
- uses : julia-actions/setup-julia@v1
22
22
with :
23
23
version : ${{ matrix.version }}
@@ -40,29 +40,63 @@ jobs:
40
40
file : lcov.info
41
41
42
42
# 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)?
45
43
source_test :
46
44
name : Julia ${{ matrix.branch }} - ${{ matrix.os }} - ${{ matrix.arch }}
47
45
runs-on : ${{ matrix.os }}
48
46
strategy :
49
47
fail-fast : false
50
48
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' ]
53
51
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'
54
65
steps :
55
- - uses : actions/checkout@v2
56
- - uses : actions/checkout@v2
66
+ - uses : actions/checkout@v3
67
+ - uses : actions/checkout@v3
57
68
with :
58
69
repository : ' JuliaLang/julia'
59
70
ref : ${{ matrix.branch }}
60
71
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
61
81
- name : Compile Julia
62
82
run : |
63
83
sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum
64
84
make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0
65
85
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
66
100
- uses : actions/cache@v1
67
101
env :
68
102
cache-name : cache-artifacts
74
108
${{ runner.os }}-test-
75
109
${{ runner.os }}-
76
110
- uses : julia-actions/julia-buildpkg@v1
111
+
77
112
- uses : julia-actions/julia-runtest@v1
113
+
78
114
- uses : julia-actions/julia-processcoverage@v1
79
115
- uses : codecov/codecov-action@v1
80
116
with :
0 commit comments