Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI Linux: Consolidate jobs #38518

Merged
merged 28 commits into from
Sep 3, 2024
Merged
Changes from 3 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c4d3b66
Add noexcept in matroids and set for cython 3.0.11 compatibility
kiwifb Aug 12, 2024
264b913
constraints_pkgs.txt, pkgs/sagemath-standard/constraints_pkgs.txt: New
mkoeppe Feb 23, 2024
9d5322c
.github/workflows/ci-linux.yml: Test sagelib-tox-sagepython-constrain…
mkoeppe Feb 23, 2024
7598576
.github/workflows/ci-linux-incremental.yml: Test constraints_pkgs-nor…
mkoeppe Feb 23, 2024
f8f7b0f
.github/workflows/ci-linux.yml: Fixup
mkoeppe Feb 23, 2024
114b53c
make SPKG-tox-...: Do set the sage environment
mkoeppe Feb 24, 2024
31d6a6b
Add some `except`s (#1)
gmou3 Aug 14, 2024
c52ad79
src/pyproject.toml: Add missing build dep jinja2
mkoeppe Aug 16, 2024
4eff0a0
Merge branch 'src_pyproject_toml_jinja2' into constraints_pkgs
mkoeppe Aug 16, 2024
b3fd6af
pkgs/sagemath-standard/constraints_pkgs.txt: More verbosity in example
mkoeppe Aug 16, 2024
61ace88
constraints_pkgs.txt: More verbosity in example
mkoeppe Aug 16, 2024
b0a6880
Merge commit 'refs/pull/38500/head' of https://github.com/sagemath/sa…
mkoeppe Aug 16, 2024
df5e38a
.github/workflows/ci-linux-incremental.yml: Update, reduce 'constrain…
mkoeppe Aug 16, 2024
b7ff066
.github/workflows/ci-linux[-incremental].yml: Use 'targets-pre' for '…
mkoeppe Aug 16, 2024
bfb531e
.github/workflows/ci-linux.yml: Build all-sage-local for 'constraints…
mkoeppe Aug 16, 2024
bf00218
.github/workflows/ci-linux[-incremental].yml: Ensure tox is installed…
mkoeppe Aug 16, 2024
ab9c02d
.github/workflows/ci-linux.yml: Merge minimal-pre and minimal
mkoeppe Aug 16, 2024
4f6371e
.github/workflows/ci-linux.yml: Merge optional-0-o, optional-p-z and …
mkoeppe Aug 16, 2024
6c83128
.github/workflows/ci-linux.yml: Merge standard-pre, standard
mkoeppe Aug 17, 2024
02f6e88
pkgs/sagemath-standard/README.rst: Add link to https://github.com/sag…
mkoeppe Aug 18, 2024
524dc88
pkgs/sagemath-standard/README.rst: Update copyright year; no longer '…
mkoeppe Aug 18, 2024
368e9f6
pkgs/sagemath-standard/constraints_pkgs.txt: Make explanation more sp…
mkoeppe Aug 18, 2024
4204f2d
pkgs/sagemath-standard/constraints_pkgs.txt: Make explanation more sp…
mkoeppe Aug 18, 2024
3ab2a18
pkgs/sagemath-standard/constraints_pkgs.txt: Change to just 'Example:'
mkoeppe Aug 18, 2024
7561f71
.github/workflows/ci-linux.yml: Remove mention of standard-pre in com…
mkoeppe Aug 18, 2024
566406f
Merge branch 'constraints_pkgs' into ci_linux_minimal_merge
mkoeppe Aug 18, 2024
c856eed
.github/workflows/ci-linux.yml: Replace use of standard-pre
mkoeppe Aug 17, 2024
ee30cbf
.github/workflows/ci-linux.yml (optional): Restore filtering out of _…
mkoeppe Aug 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 17 additions & 81 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,45 +54,27 @@ jobs:
# All platforms. This duplicates the default platform, but why not,
# it makes it more robust regarding random timeouts.

standard-pre:
if: ${{ success() || failure() }}
uses: ./.github/workflows/docker.yml
with:
# Build from scratch
docker_targets: "with-system-packages configured with-targets-pre"
# FIXME: duplicated from env.TARGETS
targets_pre: all-sage-local
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Make sure that all "standard-pre" jobs can start simultaneously,
# so that runners are available by the time that "default" starts.
max_parallel: 50

standard:
mkoeppe marked this conversation as resolved.
Show resolved Hide resolved
if: ${{ success() || failure() }}
needs: [standard-pre]
uses: ./.github/workflows/docker.yml
with:
# Build incrementally from previous stage (pre)
incremental: true
# Build from scratch
free_disk_space: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
docker_targets: "with-targets with-targets-optional"
docker_targets: "with-system-packages configured with-targets-pre with-targets with-targets-optional"
# FIXME: duplicated from env.TARGETS
targets_pre: all-sage-local
targets: build doc-html
targets_optional: ptest
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Reduce from 30 to 20 because it runs in parallel with 'standard-sitepackages'
# and 'minimal-pre' below
max_parallel: 20
# Make sure that all "standard" jobs can start simultaneously,
# so that runners are available by the time that "default" starts.
max_parallel: 50

standard-sitepackages:
if: ${{ success() || failure() }}
needs: [standard-pre]
needs: [standard]
uses: ./.github/workflows/docker.yml
with:
# Build incrementally from previous stage (pre)
Expand Down Expand Up @@ -128,38 +110,22 @@ jobs:
docker_push_repository: ghcr.io/${{ github.repository }}/
max_parallel: 8

minimal-pre:
if: ${{ success() || failure() }}
uses: ./.github/workflows/docker.yml
with:
# Build from scratch
docker_targets: "with-system-packages configured with-targets-pre"
# FIXME: duplicated from env.TARGETS
targets_pre: all-sage-local
tox_packages_factors: >-
["minimal"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Reduced from 30 because it may run in parallel with 'standard' and 'standard-sitepackages' above.
# Calibrated for clogging the job pipeline until the "default" job has finished.
max_parallel: 24

minimal:
if: ${{ success() || failure() }}
needs: [minimal-pre]
uses: ./.github/workflows/docker.yml
with:
# Build incrementally from previous stage (pre)
incremental: true
# Build from scratch
free_disk_space: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
docker_targets: "with-targets with-targets-optional"
docker_targets: "with-system-packages configured with-targets-pre with-targets with-targets-optional"
# FIXME: duplicated from env.TARGETS
targets_pre: all-sage-local
targets: build doc-html
targets_optional: ptest
tox_packages_factors: >-
["minimal"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Reduced from 30 because it may run in parallel with 'standard' and 'standard-sitepackages' above.
# Calibrated for clogging the job pipeline until the "default" job has finished.
max_parallel: 24

maximal-pre:
Expand All @@ -176,7 +142,7 @@ jobs:
["maximal"]
docker_push_repository: ghcr.io/${{ github.repository }}/

optional-0-o:
optional:
if: ${{ success() || failure() }}
needs: [maximal-pre]
uses: ./.github/workflows/docker.yml
Expand All @@ -189,41 +155,11 @@ jobs:
["maximal"]
docker_targets: "with-targets-optional"
# [0-9a-o] excludes _, in particular package _develop
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 ^[0-9a-o]))'


optional-p-z:
if: ${{ success() || failure() }}
needs: [optional-0-o]
uses: ./.github/workflows/docker.yml
with:
incremental: true
free_disk_space: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
tox_packages_factors: >-
["maximal"]
docker_targets: "with-targets-optional"
# [0-9a-o] excludes _, in particular package _develop
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 ^[p-z]))'

experimental-0-o:
if: ${{ success() || failure() }}
needs: [optional-p-z]
uses: ./.github/workflows/docker.yml
with:
incremental: true
free_disk_space: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
tox_packages_factors: >-
["maximal"]
docker_targets: "with-targets-optional"
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 | grep ^[0-9a-o]))'
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))'
kwankyu marked this conversation as resolved.
Show resolved Hide resolved

experimental-p-z:
experimental:
if: ${{ success() || failure() }}
needs: [experimental-0-o]
needs: [optional]
uses: ./.github/workflows/docker.yml
with:
incremental: true
Expand All @@ -233,4 +169,4 @@ jobs:
tox_packages_factors: >-
["maximal"]
docker_targets: "with-targets-optional"
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 | grep ^[p-z]))'
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))'
Loading