11name : CI Linux
22
3- # # This GitHub Actions workflow runs SAGE_ROOT/tox.ini with select environments,
4- # # whenever a GitHub pull request is opened or synchronized in a repository
5- # # where GitHub Actions are enabled.
3+ # # This GitHub Actions workflow runs SAGE_ROOT/tox.ini with selected environments,
4+ # # whenever a tag is pushed.
65# #
76# # It builds and checks some sage spkgs as defined in TARGETS.
87# #
@@ -33,29 +32,7 @@ permissions:
3332 packages : write
3433
3534jobs :
36-
37- # standard (without ptest) for the default platform (used by build.yml etc.)
38- default :
39- uses : ./.github/workflows/docker.yml
40- with :
41- # Build from scratch
42- free_disk_space : true
43- docker_targets : " with-system-packages configured with-targets-pre with-targets"
44- # FIXME: duplicated from env.TARGETS
45- targets_pre : all-sage-local
46- targets : build doc-html
47- targets_optional : ptest
48- tox_system_factors : >-
49- ["ubuntu-jammy"]
50- tox_packages_factors : >-
51- ["standard"]
52- docker_push_repository : ghcr.io/${{ github.repository }}/
53- logs_artifact : false
54-
55- # All platforms. This duplicates the default platform, but why not,
56- # it makes it more robust regarding random timeouts.
57-
58- standard :
35+ minimal :
5936 if : ${{ success() || failure() }}
6037 uses : ./.github/workflows/docker.yml
6138 with :
@@ -66,124 +43,21 @@ jobs:
6643 targets_pre : all-sage-local
6744 targets : build doc-html
6845 targets_optional : ptest
46+ tox_system_factors : >-
47+ ["ubuntu-jammy"]
6948 tox_packages_factors : >-
70- ["standard "]
49+ ["minimal "]
7150 docker_push_repository : ghcr.io/${{ github.repository }}/
72- # Make sure that all "standard" jobs can start simultaneously,
73- # so that runners are available by the time that "default" starts.
74- max_parallel : 50
75-
76- standard-constraints_pkgs-norequirements :
77- if : ${{ success() || failure() }}
78- needs : [standard]
79- uses : ./.github/workflows/docker.yml
80- with :
81- # Build incrementally from previous stage (pre)
82- incremental : true
83- free_disk_space : true
84- from_docker_repository : ghcr.io/${{ github.repository }}/
85- from_docker_target : " with-targets-pre"
86- docker_targets : " with-targets-pre"
87- targets_pre : all-sage-local python3-ensure tox-ensure sagelib-tox-sagepython-constraints_pkgs-norequirements
88- tox_packages_factors : >-
89- ["standard"]
90- max_parallel : 15
9151
92- standard-sitepackages :
93- if : ${{ success() || failure() }}
94- needs : [standard]
52+ standard :
9553 uses : ./.github/workflows/docker.yml
9654 with :
97- # Build incrementally from previous stage (pre)
98- incremental : true
9955 free_disk_space : true
100- from_docker_repository : ghcr.io/${{ github.repository }}/
101- from_docker_target : " with-targets-pre"
102- docker_targets : " with-targets with-targets-optional"
103- # FIXME: duplicated from env.TARGETS
104- targets : build doc-html
105- targets_optional : ptest
106- tox_packages_factors : >-
107- ["standard-sitepackages"]
108- # Only test systems with a usable system python (>= 3.9)
109- tox_system_factors : >-
110- ["ubuntu-jammy",
111- "ubuntu-lunar",
112- "ubuntu-mantic",
113- "debian-bookworm",
114- "debian-trixie",
115- "debian-sid",
116- "linuxmint-21.1",
117- "linuxmint-21.2",
118- "fedora-40",
119- "centos-stream-9-python3.9",
120- "almalinux-8-python3.9",
121- "gentoo-python3.10",
122- "gentoo-python3.11",
123- "archlinux-latest",
124- "opensuse-15.5-gcc_11-python3.11",
125- "opensuse-tumbleweed-python3.10",
126- "opensuse-tumbleweed"]
127- docker_push_repository : ghcr.io/${{ github.repository }}/
128- max_parallel : 8
129-
130- minimal :
131- if : ${{ success() || failure() }}
132- uses : ./.github/workflows/docker.yml
133- with :
13456 # Build from scratch
135- free_disk_space : true
13657 docker_targets : " with-system-packages configured with-targets-pre with-targets with-targets-optional"
137- # FIXME: duplicated from env.TARGETS
13858 targets_pre : all-sage-local
13959 targets : build doc-html
14060 targets_optional : ptest
14161 tox_packages_factors : >-
142- ["minimal"]
143- docker_push_repository : ghcr.io/${{ github.repository }}/
144- # Reduced from 30 because it may run in parallel with 'standard' and 'standard-sitepackages' above.
145- # Calibrated for clogging the job pipeline until the "default" job has finished.
146- max_parallel : 24
147-
148- maximal-pre :
149- if : ${{ success() || failure() }}
150- needs : [minimal]
151- uses : ./.github/workflows/docker.yml
152- with :
153- free_disk_space : true
154- # Build from scratch
155- docker_targets : " with-system-packages configured with-targets-pre"
156- # FIXME: duplicated from env.TARGETS
157- targets_pre : all-sage-local
158- tox_packages_factors : >-
159- ["maximal"]
62+ ["standard"]
16063 docker_push_repository : ghcr.io/${{ github.repository }}/
161-
162- optional :
163- if : ${{ success() || failure() }}
164- needs : [maximal-pre]
165- uses : ./.github/workflows/docker.yml
166- with :
167- incremental : true
168- free_disk_space : true
169- from_docker_repository : ghcr.io/${{ github.repository }}/
170- from_docker_target : " with-targets-pre"
171- tox_packages_factors : >-
172- ["maximal"]
173- docker_targets : " with-targets-optional"
174- # We remove packages starting with _, in particular package _develop
175- targets_optional : ' $(echo $(export PATH=build/bin:$PATH && sage-package list :optional: --has-file "spkg-install.in|spkg-install|requirements.txt" --no-file "huge|has_nonfree_dependencies" | grep -v sagemath_doc | grep -v ^_))'
176-
177- experimental :
178- if : ${{ success() || failure() }}
179- needs : [optional]
180- uses : ./.github/workflows/docker.yml
181- with :
182- incremental : true
183- free_disk_space : true
184- from_docker_repository : ghcr.io/${{ github.repository }}/
185- from_docker_target : " with-targets-pre"
186- tox_packages_factors : >-
187- ["maximal"]
188- docker_targets : " with-targets-optional"
189- targets_optional : ' $(echo $(export PATH=build/bin:$PATH && sage-package list :experimental: --has-file "spkg-install.in|spkg-install|requirements.txt" --no-file "huge|has_nonfree_dependencies" | grep -v sagemath_doc))'
0 commit comments