@@ -21,22 +21,22 @@ steps:
21
21
variables :
22
22
- CODECOV_TOKEN="U2FsdGVkX19l0fhdBabbuiEdysyEabkJLRHfxm7CNRkuGbnwPV365sxxC7Czs/CVcws0N1oB4pVwALRRMe36oA=="
23
23
- COVERALLS_TOKEN="U2FsdGVkX19zopI0hMNzzi2UUOvNVFD8Y0iisFnO/ryVxU7Tit8ZEaeN+gxodRx4CosUUh192F1+q3dTMWRIvw=="
24
- timeout_in_minutes : 720
24
+ timeout_in_minutes : 420
25
25
commands : |
26
26
echo "--- Build Julia from source"
27
27
make --output-sync -j$${JULIA_NUM_THREADS}
28
28
29
29
echo "--- Print Julia version info"
30
- ./julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
31
- ./julia -e '@info "" Sys.CPU_THREADS'
30
+ ./julia --color=yes - e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
31
+ ./julia --color=yes - e '@info "" Sys.CPU_THREADS'
32
32
# this is necessary to make sure that the LibGit2 tests passes
33
33
git config --global init.defaultBranch master
34
34
35
35
echo "--- Run Julia tests in parallel with code coverage enabled"
36
36
export JULIA_NUM_THREADS=1
37
37
export JULIA_WORKER_TIMEOUT=1200 # 1200 seconds = 20 minutes
38
- ./julia -e 'import Distributed; @info "" Distributed.worker_timeout()'
39
- ./julia .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl
38
+ ./julia --color=yes - e 'import Distributed; @info "" Distributed.worker_timeout()'
39
+ ./julia --color=yes .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl
40
40
41
41
echo "--- Move the lcov files into the `./lcov_files` directory"
42
42
ls *.info
49
49
buildkite-agent artifact upload lcov_files.tar.gz
50
50
51
51
echo "--- Process and upload coverage information"
52
- ./julia .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
52
+ ./julia --color=yes .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
53
53
agents :
54
54
queue : " julia"
55
55
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
59
59
env :
60
60
# Receive cryptic token from parent job
61
61
BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET : ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
62
+ # Set build number for Coveralls parallel mode
63
+ COVERALLS_SERVICE_NUMBER : ${BUILDKITE_BUILD_NUMBER}
62
64
63
65
- label : " :macos: coverage (aarch64)"
64
66
key : " coverage-macos-aarch64"
@@ -75,22 +77,22 @@ steps:
75
77
variables :
76
78
- CODECOV_TOKEN="U2FsdGVkX19l0fhdBabbuiEdysyEabkJLRHfxm7CNRkuGbnwPV365sxxC7Czs/CVcws0N1oB4pVwALRRMe36oA=="
77
79
- COVERALLS_TOKEN="U2FsdGVkX19zopI0hMNzzi2UUOvNVFD8Y0iisFnO/ryVxU7Tit8ZEaeN+gxodRx4CosUUh192F1+q3dTMWRIvw=="
78
- timeout_in_minutes : 720
80
+ timeout_in_minutes : 420
79
81
commands : |
80
82
echo "--- Build Julia from source"
81
83
make -j$${JULIA_NUM_THREADS}
82
84
83
85
echo "--- Print Julia version info"
84
- ./julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
85
- ./julia -e '@info "" Sys.CPU_THREADS'
86
+ ./julia --color=yes - e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
87
+ ./julia --color=yes - e '@info "" Sys.CPU_THREADS'
86
88
# this is necessary to make sure that the LibGit2 tests passes
87
89
git config --global init.defaultBranch master
88
90
89
91
echo "--- Run Julia tests in parallel with code coverage enabled"
90
92
export JULIA_NUM_THREADS=1
91
93
export JULIA_WORKER_TIMEOUT=1200 # 1200 seconds = 20 minutes
92
- ./julia -e 'import Distributed; @info "" Distributed.worker_timeout()'
93
- ./julia .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl
94
+ ./julia --color=yes - e 'import Distributed; @info "" Distributed.worker_timeout()'
95
+ ./julia --color=yes .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl
94
96
95
97
echo "--- Move the lcov files into the `./lcov_files` directory"
96
98
ls *.info
@@ -103,7 +105,7 @@ steps:
103
105
buildkite-agent artifact upload lcov_files.tar.gz
104
106
105
107
echo "--- Process and upload coverage information"
106
- ./julia .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
108
+ ./julia --color=yes .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
107
109
agents :
108
110
queue : " julia"
109
111
os : " macos"
@@ -112,6 +114,8 @@ steps:
112
114
JULIA_SHELL : " /bin/bash"
113
115
# Receive cryptic token from parent job
114
116
BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET : ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
117
+ # Set build number for Coveralls parallel mode
118
+ COVERALLS_SERVICE_NUMBER : ${BUILDKITE_BUILD_NUMBER}
115
119
116
120
- label : " :windows: coverage (x86_64)"
117
121
key : " coverage-windows-x86_64"
@@ -135,14 +139,14 @@ steps:
135
139
echo '--- Build Julia from source' &&
136
140
make -j$${JULIA_NUM_THREADS} VERBOSE=1 &&
137
141
echo '--- Print Julia version info' &&
138
- ./usr/bin/julia.exe -e 'using InteractiveUtils; InteractiveUtils.versioninfo()' &&
139
- ./usr/bin/julia.exe -e '@info \"\" Sys.CPU_THREADS' &&
142
+ ./usr/bin/julia.exe --color=yes - e 'using InteractiveUtils; InteractiveUtils.versioninfo()' &&
143
+ ./usr/bin/julia.exe --color=yes - e '@info \"\" Sys.CPU_THREADS' &&
140
144
git config --global init.defaultBranch master &&
141
145
echo '--- Run Julia tests in parallel with code coverage enabled' &&
142
146
export JULIA_NUM_THREADS=1 &&
143
147
export JULIA_WORKER_TIMEOUT=1200 &&
144
- ./usr/bin/julia.exe -e 'import Distributed; @info \"\" Distributed.worker_timeout()' &&
145
- ./usr/bin/julia.exe .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl &&
148
+ ./usr/bin/julia.exe --color=yes - e 'import Distributed; @info \"\" Distributed.worker_timeout()' &&
149
+ ./usr/bin/julia.exe --color=yes .buildkite/pipelines/scheduled/coverage/run_tests_parallel.jl &&
146
150
echo '--- Move the lcov files into the ./lcov_files directory' &&
147
151
ls *.info &&
148
152
mkdir -p lcov_files &&
@@ -152,7 +156,7 @@ steps:
152
156
tar -zcf lcov_files.tar.gz lcov_files/ &&
153
157
buildkite-agent artifact upload lcov_files.tar.gz &&
154
158
echo '--- Process and upload coverage information' &&
155
- ./usr/bin/julia.exe .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
159
+ ./usr/bin/julia.exe --color=yes .buildkite/pipelines/scheduled/coverage/upload_coverage.jl
156
160
" ]
157
161
propagate-environment: true
158
162
volumes:
@@ -170,7 +174,8 @@ steps:
170
174
- " BUILDKITE_BUILD_CREATOR_EMAIL"
171
175
- " CODECOV_TOKEN"
172
176
- " COVERALLS_TOKEN"
173
- timeout_in_minutes : 720
177
+ - " BUILDKITE_BUILD_NUMBER"
178
+ timeout_in_minutes : 420
174
179
agents :
175
180
queue : " julia"
176
181
os : " windows"
@@ -179,3 +184,40 @@ steps:
179
184
JULIA_SHELL : " /bin/bash"
180
185
# Receive cryptic token from parent job
181
186
BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET : ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
187
+ # Set build number for Coveralls parallel mode
188
+ COVERALLS_SERVICE_NUMBER : ${BUILDKITE_BUILD_NUMBER}
189
+
190
+ - label : " Finalize parallel coverage"
191
+ key : " coverage-finalize"
192
+ if : (pipeline.slug == "julia-buildkite-scheduled") || (pipeline.slug == "julia-master-scheduled")
193
+ depends_on :
194
+ - step : " coverage-linux"
195
+ allow_failure : true
196
+ - step : " coverage-macos-aarch64"
197
+ allow_failure : true
198
+ - step : " coverage-windows-x86_64"
199
+ allow_failure : true
200
+ plugins :
201
+ - JuliaCI/external-buildkite#v1:
202
+ version : " ./.buildkite-external-version"
203
+ repo_url : " https://github.com/JuliaCI/julia-buildkite"
204
+ - JuliaCI/julia#v1:
205
+ # Drop default "registries" directory, so it is not persisted from execution to execution
206
+ persist_depot_dirs : packages,artifacts,compiled
207
+ version : ' 1'
208
+ - JuliaCI/cryptic#v2:
209
+ variables :
210
+ - COVERALLS_TOKEN="U2FsdGVkX19zopI0hMNzzi2UUOvNVFD8Y0iisFnO/ryVxU7Tit8ZEaeN+gxodRx4CosUUh192F1+q3dTMWRIvw=="
211
+ timeout_in_minutes : 10
212
+ commands : |
213
+ echo "--- Signal completion of parallel coverage uploads"
214
+ julia --color=yes .buildkite/pipelines/scheduled/coverage/finish_parallel_coverage.jl
215
+ agents :
216
+ queue : " julia"
217
+ os : " linux"
218
+ arch : " x86_64"
219
+ env :
220
+ # Receive cryptic token from parent job
221
+ BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET : ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
222
+ # Set build number for Coveralls parallel mode
223
+ COVERALLS_SERVICE_NUMBER : ${BUILDKITE_BUILD_NUMBER}
0 commit comments