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: Update Linux platforms / runners, remove ubuntu-trusty, opensuse-{15.3,15.4} #37351

Merged
merged 9 commits into from
Apr 12, 2024
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "ubuntu-trusty-toolchain-gcc_9-minimal (≥ 8-core)",
"name": "fedora-40-minimal (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "ubuntu-trusty-toolchain-gcc_9",
"SYSTEM_FACTOR": "fedora-40",
"PACKAGE_FACTOR": "minimal",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "ubuntu-trusty-toolchain-gcc_9-standard (≥ 8-core)",
"name": "fedora-40-standard (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "ubuntu-trusty-toolchain-gcc_9",
"SYSTEM_FACTOR": "fedora-40",
"PACKAGE_FACTOR": "standard",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "opensuse-15.3-gcc_11-python3.9-minimal (≥ 8-core)",
"name": "gentoo-python3.12-minimal (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "opensuse-15.3-gcc_11-python3.9",
"SYSTEM_FACTOR": "gentoo-python3.12",
"PACKAGE_FACTOR": "minimal",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "opensuse-15.3-gcc_11-python3.9-standard (≥ 8-core)",
"name": "gentoo-python3.12-standard (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "opensuse-15.3-gcc_11-python3.9",
"SYSTEM_FACTOR": "gentoo-python3.12",
"PACKAGE_FACTOR": "standard",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "opensuse-15.4-gcc_11-python3.10-minimal (≥ 8-core)",
"name": "linuxmint-21.3-minimal (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "opensuse-15.4-gcc_11-python3.10",
"SYSTEM_FACTOR": "linuxmint-21.3",
"PACKAGE_FACTOR": "minimal",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "opensuse-15.4-gcc_11-python3.10-standard (≥ 8-core)",
"name": "linuxmint-21.3-standard (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "opensuse-15.4-gcc_11-python3.10",
"SYSTEM_FACTOR": "linuxmint-21.3",
"PACKAGE_FACTOR": "standard",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
Expand Down
25 changes: 25 additions & 0 deletions .devcontainer/portability-ubuntu-noble-minimal/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// The command "tox -e update_docker_platforms"
// creates .devcontainer/portability-*-*/devcontainer.json
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "ubuntu-noble-minimal (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "ubuntu-noble",
"PACKAGE_FACTOR": "minimal",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
}
},
"containerEnv": {
"MAKE": "make -j4"
},
"onCreateCommand": ".devcontainer/onCreate.sh",
"updateContentCommand": ".devcontainer/portability-updateContent.sh",
"extensions": [
"ms-python.python"
]
}
25 changes: 25 additions & 0 deletions .devcontainer/portability-ubuntu-noble-standard/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// The command "tox -e update_docker_platforms"
// creates .devcontainer/portability-*-*/devcontainer.json
// from .devcontainer/portability-devcontainer.json.in
// See https://aka.ms/devcontainer.json for format details.
{
"name": "ubuntu-noble-standard (≥ 8-core)",
"build": {
"dockerfile": "portability-Dockerfile",
// See tox.ini for definitions
"args": {
"SYSTEM_FACTOR": "ubuntu-noble",
"PACKAGE_FACTOR": "standard",
"DOCKER_TARGET": "with-targets",
"DOCKER_TAG": "dev"
}
},
"containerEnv": {
"MAKE": "make -j4"
},
"onCreateCommand": ".devcontainer/onCreate.sh",
"updateContentCommand": ".devcontainer/portability-updateContent.sh",
"extensions": [
"ms-python.python"
]
}
28 changes: 14 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
platform:
description: 'Platform'
required: true
default: 'ubuntu-focal-standard'
default: 'ubuntu-jammy-standard'
docker_tag:
description: 'Docker tag'
required: true
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:

build:
runs-on: ubuntu-latest
container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-focal-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}}
container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-jammy-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}}
needs: [get_ci_fixes]
steps:
- name: Checkout
Expand Down Expand Up @@ -93,16 +93,16 @@ jobs:
./bootstrap && make build
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
mkoeppe marked this conversation as resolved.
Show resolved Hide resolved
SAGE_NUM_THREADS: 4

- name: Build modularized distributions
if: (success() || failure()) && steps.worktree.outcome == 'success'
run: make V=0 tox && make SAGE_CHECK=no pypi-wheels
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Static code check with pyright
if: (success() || failure()) && steps.worktree.outcome == 'success'
Expand Down Expand Up @@ -137,8 +137,8 @@ jobs:
./bootstrap && make doc-clean doc-uninstall sagelib-clean && git clean -fx src/sage && ./config.status
working-directory: ./worktree-image
env:
MAKE: make -j2
SAGE_NUM_THREADS: 2
MAKE: make -j4
SAGE_NUM_THREADS: 4

- name: Build
# This step is needed because building the modularized distributions installs some optional packages,
Expand All @@ -149,8 +149,8 @@ jobs:
make build
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

# Testing

Expand All @@ -161,16 +161,16 @@ jobs:
./sage -t --new -p2
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Test modularized distributions
if: (success() || failure()) && steps.build.outcome == 'success'
run: make V=0 tox && make pypi-wheels-check
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Check that all modules can be imported
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ jobs:
# environment: [environment, environment-optional]
conda-env: [environment]
# On pull requests, only test two jobs:
# Ubuntu with Python 3.9, macOS with Python 3.10.
# Build & Test currently uses Python 3.11 (on ubuntu-focal).
# Ubuntu with Python 3.9, macOS with Python 3.11.
# Build & Test currently uses Python 3.10 (on ubuntu-jammy).
# Together, they cover the supported minor Python versions.
include: >-
${{ github.event_name == 'pull_request'
&& fromJson('[{"os": "macos", "python": "3.10", "conda-env": "environment"}]')
&& fromJson('[{"os": "macos", "python": "3.11", "conda-env": "environment"}]')
|| fromJson('[]') }}

steps:
Expand Down
13 changes: 2 additions & 11 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
targets: build doc-html
targets_optional: ptest
tox_system_factors: >-
["ubuntu-focal"]
["ubuntu-jammy"]
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/
Expand Down Expand Up @@ -111,18 +111,11 @@ jobs:
["ubuntu-jammy",
"ubuntu-lunar",
"ubuntu-mantic",
"debian-bullseye",
"debian-bookworm",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@orlitzky The changes in this file reduce the platforms tested with --enable-system-site-packages. Is this change OK with you?
(See https://github.com/sagemath/sage/actions/runs/8501570896 for the tests with 10.4.beta1)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes no difference to me. Having e.g. debian-bullseye in the CI is useful only to people who want to use system packages on Debian bullseye. I don't think we have any -- not developers, anyway.

"debian-trixie",
"debian-sid",
"linuxmint-21",
"linuxmint-21.1",
"linuxmint-21.2",
"fedora-33",
"fedora-34",
"fedora-35",
"fedora-36",
"fedora-37",
"fedora-38",
"fedora-39",
"centos-stream-8-python3.9",
Expand All @@ -131,11 +124,9 @@ jobs:
"gentoo-python3.10",
"gentoo-python3.11",
"archlinux-latest",
"opensuse-15.4-gcc_11-python3.10",
"opensuse-15.5-gcc_11-python3.11",
"opensuse-tumbleweed-python3.10",
"opensuse-tumbleweed",
"debian-bullseye-i386"]
"opensuse-tumbleweed"]
docker_push_repository: ghcr.io/${{ github.repository }}/
max_parallel: 8

Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/doc-build-pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
platform:
description: 'Platform'
required: true
default: 'ubuntu-focal-standard'
default: 'ubuntu-jammy-standard'
docker_tag:
description: 'Docker tag'
required: true
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:

build-docs-pdf:
runs-on: ubuntu-latest
container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-focal-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}}
container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-jammy-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}}
needs: [get_ci_fixes]
steps:
- name: Checkout
Expand Down Expand Up @@ -87,8 +87,8 @@ jobs:
./bootstrap && make build
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Build (fallback to non-incremental)
id: build
Expand All @@ -98,8 +98,8 @@ jobs:
make sagelib-clean && git clean -fx src/sage && ./config.status && make build
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Build docs (PDF)
id: docbuild
Expand All @@ -108,8 +108,8 @@ jobs:
make doc-clean doc-uninstall; make sagemath_doc_html-build-deps sagemath_doc_pdf-no-deps
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Copy docs
id: copy
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:

build-docs:
runs-on: ubuntu-latest
container: ghcr.io/sagemath/sage/sage-ubuntu-focal-standard-with-targets:dev
container: ghcr.io/sagemath/sage/sage-ubuntu-jammy-standard-with-targets:dev
needs: [get_ci_fixes]
steps:
- name: Checkout
Expand Down Expand Up @@ -95,8 +95,8 @@ jobs:
./bootstrap && make sagemath_doc_html-build-deps
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Build (fallback to non-incremental)
id: build
Expand All @@ -106,8 +106,8 @@ jobs:
make sagelib-clean && git clean -fx src/sage && ./config.status && make sagemath_doc_html-build-deps
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Build docs
id: docbuild
Expand All @@ -124,8 +124,8 @@ jobs:
./config.status && make sagemath_doc_html-no-deps
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Copy docs
id: copy
Expand Down Expand Up @@ -169,8 +169,8 @@ jobs:
./config.status && make sagemath_doc_html-no-deps sagemath_doc_pdf-no-deps
working-directory: ./worktree-image
env:
MAKE: make -j2 --output-sync=recurse
SAGE_NUM_THREADS: 2
MAKE: make -j4 --output-sync=recurse
SAGE_NUM_THREADS: 4

- name: Copy live doc
id: copylivedoc
Expand Down
Loading
Loading