comparison .github/workflows/make.yaml @ 29841:9a17e0834c4e

GitHub-CI: Decrease time-out for some steps. * .github/workflows/make.yaml: Set time-out of "configure" step to 30 minutes and "check" step to 60 minutes on all runners. No longer allow the "check" step to crash for the Ubuntu runners.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 29 Jun 2021 19:31:26 +0200
parents 05264d2b1c2d
children 35155423c0ef
comparison
equal deleted inserted replaced
29840:1a0a71a77614 29841:9a17e0834c4e
84 84
85 - name: bootstrap 85 - name: bootstrap
86 run: ./bootstrap 86 run: ./bootstrap
87 87
88 - name: configure 88 - name: configure
89 timeout-minutes: 30
89 env: 90 env:
90 MY_CC: ${{ matrix.cc }} 91 MY_CC: ${{ matrix.cc }}
91 MY_CXX: ${{ matrix.cxx }} 92 MY_CXX: ${{ matrix.cxx }}
92 run: | 93 run: |
93 echo $MY_CC --version 94 echo $MY_CC --version
115 116
116 - name: ccache status 117 - name: ccache status
117 run: ccache -s 118 run: ccache -s
118 119
119 - name: check 120 - name: check
120 # Continuing on error in this step means that jobs will be "green" even 121 timeout-minutes: 60
121 # if the test suite crashes. But if we don't continue, we'll loose the
122 # ccache and other jobs will be cancelled.
123 # It would be nice if we could mark the job as "yellow" (and continue)
124 # in that case.
125 # It would also be nice if we could analyze the test suite results
126 # automatically.
127 continue-on-error: true
128 env: 122 env:
129 XDG_RUNTIME_DIR: "/home/runner/tmp" 123 XDG_RUNTIME_DIR: "/home/runner/tmp"
130 run: xvfb-run -a make -C ./.build check V=1 | tee ./test-suite.log 124 run: xvfb-run -a make -C ./.build check V=1 | tee ./test-suite.log
131 125
132 - name: analyze test suite results 126 - name: analyze test suite results
214 run: | 208 run: |
215 export PATH="$MY_PATH:$PATH" 209 export PATH="$MY_PATH:$PATH"
216 ./bootstrap 210 ./bootstrap
217 211
218 - name: configure 212 - name: configure
213 timeout-minutes: 30
219 env: 214 env:
220 MY_CC: ${{ matrix.cc }} 215 MY_CC: ${{ matrix.cc }}
221 MY_CXX: ${{ matrix.cxx }} 216 MY_CXX: ${{ matrix.cxx }}
222 MY_CPPFLAGS: ${{ matrix.cppflags }} 217 MY_CPPFLAGS: ${{ matrix.cppflags }}
223 MY_LDFLAGS: ${{ matrix.ldflags }} 218 MY_LDFLAGS: ${{ matrix.ldflags }}
265 # It would be nice if we could mark the job as "yellow" (and continue) 260 # It would be nice if we could mark the job as "yellow" (and continue)
266 # in that case. 261 # in that case.
267 # It would also be nice if we could analyze the test suite results 262 # It would also be nice if we could analyze the test suite results
268 # automatically. 263 # automatically.
269 continue-on-error: true 264 continue-on-error: true
265 timeout-minutes: 60
270 run: make -C ./.build check V=1 266 run: make -C ./.build check V=1
271 267
272 268
273 windows: 269 windows:
274 runs-on: ${{ matrix.os }} 270 runs-on: ${{ matrix.os }}
277 run: 273 run:
278 # Use pre-installed MSYS2 as default shell 274 # Use pre-installed MSYS2 as default shell
279 shell: C:/msys64/usr/bin/bash.exe --login -eo pipefail "{0}" 275 shell: C:/msys64/usr/bin/bash.exe --login -eo pipefail "{0}"
280 276
281 strategy: 277 strategy:
278 # Allow other runners in the matrix to continue if some fail
282 fail-fast: false 279 fail-fast: false
280
283 matrix: 281 matrix:
284 # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners 282 # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
285 os: [windows-2019] 283 os: [windows-2019]
286 compiler: [gcc] 284 compiler: [gcc]
287 target: [x86_64, i686] 285 target: [x86_64, i686]
326 - name: install dependencies 324 - name: install dependencies
327 # The packages are listed in (alphabetically sorted) blocks: 325 # The packages are listed in (alphabetically sorted) blocks:
328 # The first block is for mandatory dependencies. 326 # The first block is for mandatory dependencies.
329 # The second block is for optional dependencies needed when building from a release tarball. 327 # The second block is for optional dependencies needed when building from a release tarball.
330 # The third block is for additional dependencies needed when building from a repository checkout. 328 # The third block is for additional dependencies needed when building from a repository checkout.
329 # The fourth block is for additional run-time dependencies that aren't needed to build (to run test suite)
331 run: | 330 run: |
332 pacman --noconfirm -Syu 331 pacman --noconfirm -Syu
333 pacman --noconfirm -S --needed --overwrite * \ 332 pacman --noconfirm -S --needed --overwrite * \
334 base-devel ${TARGET_PREFIX}-toolchain ${TARGET_PREFIX}-lapack ${TARGET_PREFIX}-openblas ${TARGET_PREFIX}-pcre \ 333 base-devel ${TARGET_PREFIX}-toolchain ${TARGET_PREFIX}-lapack ${TARGET_PREFIX}-openblas ${TARGET_PREFIX}-pcre \
335 ${TARGET_PREFIX}-arpack ${TARGET_PREFIX}-curl ${TARGET_PREFIX}-cvode ${TARGET_PREFIX}-fftw ${TARGET_PREFIX}-fltk ${TARGET_PREFIX}-gl2ps ${TARGET_PREFIX}-glpk ${TARGET_PREFIX}-ghostscript ${TARGET_PREFIX}-gnuplot ${TARGET_PREFIX}-graphicsmagick ${TARGET_PREFIX}-hdf5 ${TARGET_PREFIX}-libsndfile ${TARGET_PREFIX}-portaudio ${TARGET_PREFIX}-qhull ${TARGET_PREFIX}-qrupdate ${TARGET_PREFIX}-qscintilla ${TARGET_PREFIX}-qt5 ${TARGET_PREFIX}-rapidjson ${TARGET_PREFIX}-suitesparse \ 334 ${TARGET_PREFIX}-arpack ${TARGET_PREFIX}-curl ${TARGET_PREFIX}-cvode ${TARGET_PREFIX}-fftw ${TARGET_PREFIX}-fltk ${TARGET_PREFIX}-gl2ps ${TARGET_PREFIX}-glpk ${TARGET_PREFIX}-ghostscript ${TARGET_PREFIX}-gnuplot ${TARGET_PREFIX}-graphicsmagick ${TARGET_PREFIX}-hdf5 ${TARGET_PREFIX}-libsndfile ${TARGET_PREFIX}-portaudio ${TARGET_PREFIX}-qhull ${TARGET_PREFIX}-qrupdate ${TARGET_PREFIX}-qscintilla ${TARGET_PREFIX}-qt5 ${TARGET_PREFIX}-rapidjson ${TARGET_PREFIX}-suitesparse \
336 git ${TARGET_PREFIX}-ccache ${TARGET_PREFIX}-icoutils ${TARGET_PREFIX}-librsvg texinfo 335 git ${TARGET_PREFIX}-ccache ${TARGET_PREFIX}-icoutils ${TARGET_PREFIX}-librsvg texinfo \
336 unzip zip
337 337
338 - name: checkout repository 338 - name: checkout repository
339 uses: actions/checkout@v2 339 uses: actions/checkout@v2
340 340
341 - name: prepare ccache 341 - name: prepare ccache
425 # It would be nice if we could mark the job as "yellow" (and continue) 425 # It would be nice if we could mark the job as "yellow" (and continue)
426 # in that case. 426 # in that case.
427 # It would also be nice if we could analyze the test suite results 427 # It would also be nice if we could analyze the test suite results
428 # automatically. 428 # automatically.
429 continue-on-error: true 429 continue-on-error: true
430 timeout-minutes: 60
430 431
431 # We cannot run "make check" in the MSYS2 shell because it will fail with backslash as a file separator. 432 # We cannot run "make check" in the MSYS2 shell because it will fail with backslash as a file separator.
432 # Instead, use the CMD shell and set up the environment to pick up what we just built. 433 # Instead, use the CMD shell and set up the environment to pick up what we just built.
433 shell: cmd 434 shell: cmd
434 env: 435 env: