@@ -29,7 +29,7 @@ concurrency:
2929#
3030# The three workflows:
3131#
32- # - build.yml (with jobs test-new, test-mod, test- long),
32+ # - build.yml (with jobs test-new, test-long),
3333# - doc-build.yml,
3434# - doc-build-pdf.yml
3535#
@@ -50,7 +50,7 @@ concurrency:
5050# This baseline is transparently improved by our use of the GH Actions cache,
5151# see https://docs.docker.com/build/ci/github-actions/cache/#cache-backend-api.
5252#
53- # Jobs test-mod and test- long are only started after test-new completed;
53+ # Jobs test-long is only started after test-new completed;
5454# but the workflows doc-build.yml and doc-build-pdf.yml are started independently.
5555#
5656# - When nothing is cached and the 3 workflows are launched in parallel,
@@ -254,104 +254,6 @@ jobs:
254254 ./sage -t --long --format github -p4 ${{ steps.changed-files.outputs.doctests_all_changed_files }}
255255 shell : sh .ci/docker-exec-script.sh BUILD /sage {0}
256256
257- test-mod :
258- runs-on : ubuntu-latest
259- needs : [test-new]
260- services :
261- # https://docs.docker.com/build/ci/github-actions/local-registry/
262- registry :
263- image : registry:2
264- ports :
265- - 5000:5000
266- strategy :
267- fail-fast : false
268- matrix :
269- targets :
270- - sagemath_categories-check
271- steps :
272- - name : Maximize build disk space
273- uses : easimon/maximize-build-space@v10
274- with :
275- # need space in /var for Docker images
276- root-reserve-mb : 30000
277- remove-dotnet : true
278- remove-android : true
279- remove-haskell : true
280- remove-codeql : true
281- remove-docker-images : true
282-
283- - name : Checkout
284- id : checkout
285- uses : actions/checkout@v4
286-
287- - name : Install test prerequisites
288- # From docker.yml
289- run : |
290- sudo DEBIAN_FRONTEND=noninteractive apt-get update
291- sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
292- sudo apt-get clean
293- df -h
294-
295- - name : Merge CI fixes from sagemath/sage
296- # From docker.yml
297- # This step needs to happen after the commit sha is put in DOCKER_TAG
298- # so that multi-stage builds can work correctly.
299- run : |
300- .ci/merge-fixes.sh
301- env :
302- GH_TOKEN : ${{ github.token }}
303-
304- # Building
305-
306- - name : Generate Dockerfile
307- # From docker.yml
308- run : |
309- tox -e ${{ env.TOX_ENV }}
310- cp .tox/${{ env.TOX_ENV }}/Dockerfile .
311- env :
312- # Only generate the Dockerfile, do not run 'docker build' here
313- DOCKER_TARGETS : " "
314-
315- - name : Set up Docker Buildx
316- uses : docker/setup-buildx-action@v3
317- with :
318- driver-opts : network=host
319-
320- - name : Build Docker image
321- id : image
322- uses : docker/build-push-action@v6
323- with :
324- push : true
325- load : false
326- context : .
327- tags : ${{ env.BUILD_IMAGE }}
328- target : with-targets
329- cache-from : type=gha
330- cache-to : type=gha,mode=max
331- build-args : |
332- NUMPROC=6
333- USE_MAKEFLAGS=-k V=0 SAGE_NUM_THREADS=4 --output-sync=recurse
334- TARGETS_PRE=build/make/Makefile
335- TARGETS=${{ needs.test-new.outputs.build_targets }}
336-
337- - name : Start container
338- id : container
339- if : (success() || failure())
340- run : |
341- docker run --name BUILD -dit \
342- --mount type=bind,src=$(pwd),dst=$(pwd) \
343- --workdir $(pwd) \
344- ${{ env.BUILD_IMAGE }} /bin/sh
345-
346- # Testing
347-
348- - name : Test modularized distributions
349- if : (success() || failure()) && steps.container.outcome == 'success'
350- run : |
351- export MAKE="make -j2 --output-sync=recurse" SAGE_NUM_THREADS=4
352- make V=0 tox-ensure && make ${{ matrix.targets }}
353- shell : sh .ci/docker-exec-script.sh BUILD /sage {0}
354-
355257 test-long :
356258 runs-on : ubuntu-latest
357259 needs : [test-new]
0 commit comments