Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Merge branch 'develop' into t/31892/31892
Browse files Browse the repository at this point in the history
  • Loading branch information
kwankyu committed Oct 14, 2022
2 parents 527c3a4 + 54cd6fe commit c789509
Show file tree
Hide file tree
Showing 680 changed files with 16,077 additions and 6,421 deletions.
26 changes: 0 additions & 26 deletions .circleci/before-script.sh

This file was deleted.

89 changes: 0 additions & 89 deletions .circleci/config.yml

This file was deleted.

118 changes: 117 additions & 1 deletion .github/workflows/ci-linux.yml
Expand Up @@ -33,15 +33,131 @@ env:

jobs:

docker:
standard-pre:
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 }}/

standard:
if: ${{ success() || failure() }}
needs: [standard-pre]
uses: ./.github/workflows/docker.yml
with:
# Build incrementally from previous stage (pre)
incremental: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
docker_targets: "with-targets with-targets-optional"
# FIXME: duplicated from env.TARGETS
targets: build doc-html
targets_optional: ptest
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/

minimal-pre:
if: ${{ success() || failure() }}
# It does not really "need" it.
needs: [standard]
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 }}/

minimal:
if: ${{ success() || failure() }}
needs: [minimal-pre]
uses: ./.github/workflows/docker.yml
with:
# Build incrementally from previous stage (pre)
incremental: true
from_docker_repository: ghcr.io/${{ github.repository }}/
from_docker_target: "with-targets-pre"
docker_targets: "with-targets with-targets-optional"
# FIXME: duplicated from env.TARGETS
targets: build doc-html
targets_optional: ptest
tox_packages_factors: >-
["minimal]
docker_push_repository: ghcr.io/${{ github.repository }}/

maximal-pre:
if: ${{ success() || failure() }}
needs: [minimal]
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: >-
["maximal"]
docker_push_repository: ghcr.io/${{ github.repository }}/

optional-0-o:
if: ${{ success() || failure() }}
needs: [maximal-pre]
uses: ./.github/workflows/docker.yml
with:
incremental: 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 :optional: --has-file "spkg-install.in|spkg-install|requirements.txt" --no-file "huge|has_nonfree_dependencies" | grep -v sagemath_doc | grep ^[0-o]))'


optional-p-z:
if: ${{ success() || failure() }}
needs: [optional-0-o]
uses: ./.github/workflows/docker.yml
with:
incremental: 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 :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
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-o]))'

experimental-p-z:
if: ${{ success() || failure() }}
needs: [experimental-0-o]
uses: ./.github/workflows/docker.yml
with:
incremental: 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 ^[p-z]))'

local-ubuntu:

runs-on: ubuntu-latest
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci-macos.yml
Expand Up @@ -76,19 +76,19 @@ jobs:
# For doctesting, we use a lower parallelization to avoid timeouts.
run: |
case "${{ matrix.stage }}" in
1) export TARGETS_PRE="all-sage-local" TARGETS="all-sage-local" TARGETS_OPTIONAL=""
1) export TARGETS_PRE="all-sage-local" TARGETS="all-sage-local" TARGETS_OPTIONAL="build/make/Makefile"
;;
2) export TARGETS_PRE="all-sage-local" TARGETS="build doc-html" TARGETS_OPTIONAL="ptest"
;;
2-optional*) export TARGETS_PRE="build/make/Makefile" TARGETS="build/make/Makefile"
targets_pattern="${{ matrix.stage }}"
targets_pattern="${targets_pattern#2-optional-}"
export TARGETS_OPTIONAL=$( echo $(export PATH=build/bin:$PATH && (for a in spkg-install.in spkg-install requirements.txt; do sage-package list :optional: --has-file $a --no-file huge --no-file has_nonfree_dependencies; done) | grep -v ^_ | grep -v sagemath_doc | grep "^[$targets_pattern]" ) )
export 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 "^[$targets_pattern]" ) )
;;
2-experimental*) export TARGETS_PRE="build/make/Makefile" TARGETS="build/make/Makefile"
targets_pattern="${{ matrix.stage }}"
targets_pattern="${targets_pattern#2-experimental-}"
export TARGETS_OPTIONAL=$( echo $(export PATH=build/bin:$PATH && (for a in spkg-install.in spkg-install requirements.txt; do sage-package list :experimental: --has-file $a --no-file huge --no-file has_nonfree_dependencies; done) | grep -v ^_ | grep -v sagemath_doc | grep "^[$targets_pattern]" ) )
export 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 "^[$targets_pattern]" ) )
;;
esac
MAKE="make -j12" tox -e $TOX_ENV -- SAGE_NUM_THREADS=4 $TARGETS
Expand Down
43 changes: 31 additions & 12 deletions .github/workflows/docker.yml
Expand Up @@ -18,24 +18,20 @@ on:
default: >-
["ubuntu-trusty-toolchain-gcc_9",
"ubuntu-xenial-toolchain-gcc_9",
"ubuntu-bionic",
"ubuntu-bionic-gcc_8",
"ubuntu-focal",
"ubuntu-jammy",
"ubuntu-kinetic",
"debian-stretch",
"debian-buster",
"debian-bullseye",
"debian-bookworm",
"debian-sid",
"linuxmint-19",
"linuxmint-19.3",
"linuxmint-19-gcc_8",
"linuxmint-19.3-gcc_8",
"linuxmint-20.1",
"linuxmint-20.2",
"linuxmint-20.3",
"linuxmint-21",
"fedora-26",
"fedora-27",
"fedora-28",
"fedora-29",
"fedora-30",
"fedora-31",
Expand All @@ -51,8 +47,8 @@ on:
"gentoo-python3.9",
"gentoo-python3.10",
"archlinux-latest",
"opensuse-15.3",
"opensuse-15.4",
"opensuse-15.3-gcc_11",
"opensuse-15.4-gcc_11",
"opensuse-tumbleweed",
"conda-forge",
"ubuntu-bionic-i386",
Expand All @@ -68,14 +64,33 @@ on:
]
max_parallel:
type: number
default: 20
default: 24
#
# Publishing to GitHub Packages
#
docker_push_repository:
required: false
type: string
#
# Incremental builds
#
docker_targets:
default: "with-system-packages configured with-targets-pre with-targets with-targets-optional"
type: string
incremental:
default: false
type: boolean
from_docker_repository:
required: false
type: string
from_docker_target:
required: false
type: string
from_docker_tag:
required: false
default: "$BUILD_TAG"
type: string
#
# For use in upstream CIs
#
upstream_artifact:
Expand Down Expand Up @@ -104,12 +119,16 @@ jobs:
tox_system_factor: ${{ fromJson(inputs.tox_system_factors) }}
tox_packages_factor: ${{ fromJson(inputs.tox_packages_factors) }}
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
TOX_ENV: "docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}${{ inputs.incremental && '-incremental' || '' }}"
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
DOCKER_TARGETS: with-system-packages configured with-targets-pre with-targets with-targets-optional
DOCKER_TARGETS: ${{ inputs.docker_targets }}
TARGETS_PRE: ${{ inputs.targets_pre }}
TARGETS: ${{ inputs.targets }}
TARGETS_OPTIONAL: ${{ inputs.targets_optional }}
FROM_DOCKER_REPOSITORY: ${{ inputs.from_docker_repository }}
FROM_DOCKER_TARGET: ${{ inputs.from_docker_target }}
FROM_DOCKER_TAG: ${{ inputs.from_docker_tag }}

steps:
- name: Check out SageMath
uses: actions/checkout@v2
Expand Down

0 comments on commit c789509

Please sign in to comment.