Skip to content

Commit a12e957

Browse files
author
Release Manager
committed
gh-39467: Disable broken and outdated CI <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes #12345". --> Many of the CI runs after a new release are failing, for months now, see eg https://github.com/sagemath/sage/actions/runs/12979684199/job/3621812 6145. Some of these failures are genuine (eg a certain package cannot be built on a certain system) and some others are due to constraints of the build system (eg running out of free space). Since there is very little point in senselessly burning energy, all runs that were failing for the last releases are disabled. Once the underlying issues are fixed, they can be easily be re-enabled. Moreover, the "minimal" runs where only a couple of systems packages are installed and most are build using sage are removed, keeping only the "standard" where all available system packages (corresponding to standard sage packages) are installed. New test run: https://github.com/tobiasdiez/sage/actions/runs/1319937223 2/job/36847711005 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies - #39251 (to resolve merge conflicts) <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - #12345: short description why this is a dependency --> <!-- - #34567: ... --> URL: #39467 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Kwankyu Lee, Tobias Diez, user202729
2 parents 8ad1ae6 + 82832bc commit a12e957

File tree

7 files changed

+18
-275
lines changed

7 files changed

+18
-275
lines changed

.github/workflows/ci-linux-incremental.yml

+2-49
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: CI Linux incremental
22

3-
## This GitHub Actions workflow runs SAGE_ROOT/tox.ini with select environments,
3+
## This GitHub Actions workflow runs SAGE_ROOT/tox.ini with selected environments,
44
## whenever a GitHub pull request is opened or synchronized in a repository
55
## where GitHub Actions are enabled.
66
##
@@ -99,56 +99,9 @@ jobs:
9999
"debian-bullseye",
100100
"debian-bookworm",
101101
"fedora-30",
102-
"fedora-40",
103-
"gentoo-python3.11",
104-
"debian-bullseye-i386"]
102+
"fedora-40",]
105103
tox_packages_factors: >-
106104
["standard",
107105
"minimal"]
108106
docker_push_repository: ghcr.io/${{ github.repository }}/
109107
max_parallel: 8
110-
111-
constraints_pkgs-norequirements:
112-
needs: [changed_files]
113-
uses: ./.github/workflows/docker.yml
114-
with:
115-
# Build incrementally from published Docker image
116-
incremental: true
117-
free_disk_space: true
118-
from_docker_repository: ghcr.io/sagemath/sage/
119-
from_docker_target: "with-targets-pre"
120-
from_docker_tag: "dev"
121-
docker_targets: "with-targets-pre"
122-
targets_pre: "${{needs.changed_files.outputs.build_targets}} all-sage-local python3-ensure tox-ensure sagelib-tox-sagepython-constraints_pkgs-norequirements"
123-
tox_system_factors: >-
124-
["ubuntu-focal",
125-
"ubuntu-noble",
126-
"debian-bookworm",
127-
"fedora-40",
128-
"debian-bullseye-i386"]
129-
tox_packages_factors: >-
130-
["standard"]
131-
docker_push_repository: ghcr.io/${{ github.repository }}/
132-
max_parallel: 16
133-
134-
site:
135-
needs: [changed_files]
136-
uses: ./.github/workflows/docker.yml
137-
with:
138-
# Build incrementally from published Docker image
139-
incremental: true
140-
free_disk_space: true
141-
from_docker_repository: ghcr.io/sagemath/sage/
142-
from_docker_target: "with-targets"
143-
from_docker_tag: "dev"
144-
docker_targets: "with-targets"
145-
targets: "${{needs.changed_files.outputs.build_targets}} doc-html ptest-nodoc"
146-
# Only test systems with a usable system python (>= 3.9)
147-
# with only a small number of test failures as of 10.2.rc0
148-
tox_system_factors: >-
149-
["gentoo-python3.11",
150-
"archlinux-latest",
151-
"fedora-40"]
152-
tox_packages_factors: >-
153-
["standard-sitepackages"]
154-
docker_push_repository: ghcr.io/${{ github.repository }}/

.github/workflows/ci-linux.yml

+8-134
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
name: 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

3534
jobs:
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))'

.github/workflows/ci-macos.yml

-58
Original file line numberDiff line numberDiff line change
@@ -99,61 +99,3 @@ jobs:
9999
with:
100100
path: "dist/*.tar.gz"
101101
name: dist
102-
103-
local-macos-nohomebrew:
104-
105-
needs: [dist]
106-
107-
runs-on: ${{ matrix.os }}
108-
strategy:
109-
fail-fast: false
110-
max-parallel: 4
111-
matrix:
112-
os: [ macos-12, macos-13, macos-14 ]
113-
tox_system_factor: [macos-nobootstrap]
114-
tox_packages_factor: [minimal]
115-
xcode_version_factor: [default]
116-
env:
117-
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
118-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-xcode_${{ matrix.xcode_version_factor }}
119-
steps:
120-
- uses: actions/checkout@v4
121-
if: "!contains(matrix.tox_system_factor, 'nobootstrap')"
122-
- uses: actions/download-artifact@v4
123-
with:
124-
path: .
125-
name: dist
126-
if: contains(matrix.tox_system_factor, 'nobootstrap')
127-
- name: Unpack sage dist
128-
run: |
129-
tar xf sage*.tar.gz --strip-components=1
130-
if: contains(matrix.tox_system_factor, 'nobootstrap')
131-
- name: Move homebrew away
132-
run: |
133-
(cd $(brew --prefix) && for a in bin etc include lib opt sbin share; do sudo mv $a $a-moved; done)
134-
- name: Select Xcode version
135-
run: |
136-
if [ ${{ matrix.xcode_version_factor }} != default ]; then sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version_factor }}.app; fi
137-
- name: Install test prerequisites
138-
run: |
139-
sudo /usr/bin/python3 -m pip install tox
140-
- name: Build and test with tox
141-
# We use a high parallelization on purpose in order to catch possible parallelization bugs in the build scripts.
142-
# For doctesting, we use a lower parallelization to avoid timeouts.
143-
run: |
144-
(sleep 20000; pkill make) &
145-
MAKE="make -j12" tox -e $TOX_ENV -- SAGE_NUM_THREADS=6 $TARGETS
146-
- name: Prepare logs artifact
147-
run: |
148-
mkdir -p "artifacts/$LOGS_ARTIFACT_NAME"; cp -r .tox/*/log "artifacts/$LOGS_ARTIFACT_NAME"
149-
if: always()
150-
- uses: actions/upload-artifact@v4
151-
with:
152-
path: artifacts
153-
name: ${{ env.LOGS_ARTIFACT_NAME }}
154-
if: always()
155-
- name: Print out logs for immediate inspection
156-
# and markup the output with GitHub Actions logging commands
157-
run: |
158-
.github/workflows/scan-logs.sh "artifacts/$LOGS_ARTIFACT_NAME"
159-
if: always()

.github/workflows/docker.yml

-24
Original file line numberDiff line numberDiff line change
@@ -19,49 +19,25 @@ on:
1919
default: >-
2020
[
2121
"ubuntu-xenial-toolchain-gcc_9",
22-
"ubuntu-bionic-gcc_8",
2322
"ubuntu-focal",
2423
"ubuntu-jammy",
25-
"ubuntu-lunar",
26-
"ubuntu-mantic",
27-
"ubuntu-noble",
2824
"debian-bullseye",
2925
"debian-bookworm",
30-
"debian-trixie",
31-
"debian-sid",
32-
"linuxmint-20.1",
3326
"linuxmint-20.2",
3427
"linuxmint-20.3",
3528
"linuxmint-21",
3629
"linuxmint-21.1",
3730
"linuxmint-21.2",
3831
"linuxmint-21.3",
39-
"fedora-30",
40-
"fedora-31",
41-
"fedora-32",
42-
"fedora-33",
43-
"fedora-34",
44-
"fedora-35",
45-
"fedora-36",
46-
"fedora-37",
47-
"fedora-38",
48-
"fedora-39",
4932
"fedora-40",
5033
"fedora-41",
5134
"centos-stream-9",
5235
"centos-stream-9-python3.12",
53-
"almalinux-8-python3.9",
5436
"almalinux-9-python3.11",
55-
"gentoo-python3.10",
56-
"gentoo-python3.11",
57-
"gentoo-python3.12",
5837
"archlinux-latest",
5938
"opensuse-15.5-gcc_11-python3.11",
6039
"opensuse-tumbleweed-python3.10",
6140
"opensuse-tumbleweed",
62-
"conda-forge-python3.11",
63-
"ubuntu-bionic-gcc_8-i386",
64-
"debian-bullseye-i386",
6541
]
6642
# 'tox -e update_docker_platforms' updates above
6743
tox_packages_factors:

.github/workflows/macos.yml

+2-8
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,9 @@ on:
2323
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
2424
description: 'Stringified JSON object'
2525
default: >-
26-
[["12", "", "homebrew-macos-usrlocal-minimal"],
27-
["12", "", "homebrew-macos-usrlocal-standard"],
28-
["12", "", "homebrew-macos-usrlocal-python3_xcode-standard"],
29-
["12", "", "homebrew-macos-usrlocal-maximal"],
30-
["13", "xcode_15.0", "homebrew-macos-usrlocal-standard"],
26+
[
3127
["latest", "", "homebrew-macos-opthomebrew-standard"],
32-
["13", "", "conda-forge-macos-minimal"],
33-
["13", "", "conda-forge-macos-standard"],
34-
["latest", "", "conda-forge-macos-standard"]]
28+
]
3529
type: string
3630
extra_sage_packages:
3731
description: 'Extra Sage packages to install as system packages'

src/doc/en/developer/github.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ Actions.
462462
test. Details are again available by clicking on the check.
463463

464464
The automatic workflow runs on a container based on
465-
``ubuntu-focal-standard``. To request a run of the workflow on a different
465+
``ubuntu``. To request a run of the workflow on a different
466466
platform, you can issue a `workflow dispatch
467467
<https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow#running-a-workflow>`_.
468468
You can select any of the platforms for which a `prebuilt container image

src/doc/en/developer/portability_testing.rst

+5-1
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,8 @@ makes them available on `GitHub Packages
11391139
<https://github.com/features/packages>`_ (ghcr.io).
11401140

11411141
This makes it easy for developers to debug problems that showed up in
1142-
the build logs for a given platform.
1142+
the build logs for a given platform. These images are not intended for production
1143+
deployment.
11431144

11441145
The image version corresponding to the latest development release
11451146
receives the additional Docker tag ``dev``, see for example the Docker
@@ -1188,6 +1189,9 @@ are available:
11881189
installation of Sage, including the HTML documentation, but ``make
11891190
ptest`` has not been run yet.
11901191

1192+
Note that some of these images are outdated due to build errors.
1193+
Moreover, standard and minimal images are discontinued.
1194+
11911195
.. only:: html
11921196

11931197
.. include:: portability_platform_table.rst

0 commit comments

Comments
 (0)