Skip to content

Commit

Permalink
Merge branch 'develop' into macos-limit-parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
tobiasdiez authored Nov 16, 2023
2 parents 6e2c466 + fa5c939 commit b1ae6ee
Show file tree
Hide file tree
Showing 64 changed files with 232 additions and 173 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,9 @@ jobs:
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Reduce from 30 to 25 because it runs in parallel with 'standard-sitepackages' below
max_parallel: 25
# Reduce from 30 to 20 because it runs in parallel with 'standard-sitepackages'
# and 'minimal-pre' below
max_parallel: 20

standard-sitepackages:
if: ${{ success() || failure() }}
Expand Down Expand Up @@ -135,7 +136,7 @@ jobs:
"opensuse-tumbleweed",
"debian-bullseye-i386"]
docker_push_repository: ghcr.io/${{ github.repository }}/
max_parallel: 10
max_parallel: 8

minimal-pre:
if: ${{ success() || failure() }}
Expand All @@ -148,9 +149,9 @@ jobs:
tox_packages_factors: >-
["minimal"]
docker_push_repository: ghcr.io/${{ github.repository }}/
# Reduced from 30 because it may run in parallel with 'standard-sitepackages' above.
# 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: 20
max_parallel: 24

minimal:
if: ${{ success() || failure() }}
Expand All @@ -169,6 +170,7 @@ jobs:
tox_packages_factors: >-
["minimal"]
docker_push_repository: ghcr.io/${{ github.repository }}/
max_parallel: 24

maximal-pre:
if: ${{ success() || failure() }}
Expand Down Expand Up @@ -196,7 +198,8 @@ jobs:
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]))'
# [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:
Expand All @@ -211,6 +214,7 @@ jobs:
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:
Expand All @@ -225,7 +229,7 @@ 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 ^[0-o]))'
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]))'

experimental-p-z:
if: ${{ success() || failure() }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/ci-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,34 +42,39 @@ jobs:
stage: "2"
max_parallel: 1
needs: [stage-1]
if: ${{ success() || failure() }}

stage-2-optional-0-o:
uses: ./.github/workflows/macos.yml
with:
stage: "2-optional-0-o"
max_parallel: 1
needs: [stage-2]
if: ${{ success() || failure() }}

stage-2-optional-p-z:
uses: ./.github/workflows/macos.yml
with:
stage: "2-optional-p-z"
max_parallel: 1
needs: [stage-2-optional-0-o]
if: ${{ success() || failure() }}

stage-2-experimental-0-o:
uses: ./.github/workflows/macos.yml
with:
stage: "2-optional-0-o"
max_parallel: 1
needs: [stage-2-optional-p-z]
if: ${{ success() || failure() }}

stage-2-experimental-p-z:
uses: ./.github/workflows/macos.yml
with:
stage: "2-experimental-p-z"
max_parallel: 1
needs: [stage-2-experimental-0-o]
if: ${{ success() || failure() }}

dist:

Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,10 @@ on:
free_disk_space:
default: false
type: boolean
timeout:
description: 'Elapsed time (seconds) at which to kill the build'
default: 20000
type: number
#
# Publishing to GitHub Packages
#
Expand Down Expand Up @@ -224,6 +228,7 @@ jobs:
if: inputs.free_disk_space
- name: Configure and build Sage distribution within a Docker container
run: |
(sleep ${{ inputs.timeout }}; for id in $(docker ps -q); do docker exec $id pkill make; done) &
set -o pipefail; EXTRA_DOCKER_BUILD_ARGS="--build-arg NUMPROC=4 --build-arg USE_MAKEFLAGS=\"-k V=0 SAGE_NUM_THREADS=3\"" tox -e $TOX_ENV -- $TARGETS 2>&1 | sed "/^configure: notice:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: warning:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: error:/s|^|::error file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;"
- name: Copy logs from the Docker image or build container
run: |
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,13 @@ on:
default: >-
[["latest", "", "homebrew-macos-usrlocal-minimal"],
["latest", "", "homebrew-macos-usrlocal-standard"],
["11", "xcode_13.2.1", "homebrew-macos-usrlocal-standard"],
["11", "xcode_13.2.1", "homebrew-macos-usrlocal-minimal],
["12", "", "homebrew-macos-usrlocal-standard"],
["13", "xcode_15.0", "homebrew-macos-usrlocal-standard"],
["latest", "", "homebrew-macos-usrlocal-maximal"],
["latest", "", "homebrew-macos-usrlocal-python3_xcode-standard"],
["latest", "", "conda-forge-macos-minimal"],
["latest", "", "conda-forge-macos-standard"],
["latest", "", "conda-forge-macos-maximal"]]
["latest", "", "conda-forge-macos-standard"]]
type: string
extra_sage_packages:
description: 'Extra Sage packages to install as system packages'
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ title: SageMath
abstract: SageMath is a free open-source mathematics software system.
authors:
- name: "The SageMath Developers"
version: 10.2.rc2
version: 10.2.rc3
doi: 10.5281/zenodo.593563
date-released: 2023-11-12
date-released: 2023-11-14
repository-code: "https://github.com/sagemath/sage"
url: "https://www.sagemath.org/"
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SageMath version 10.2.rc2, Release Date: 2023-11-12
SageMath version 10.2.rc3, Release Date: 2023-11-14
9 changes: 8 additions & 1 deletion build/make/install
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,17 @@ if $MAKE -q "$@" >/dev/null 2>/dev/null; then
fi

# Dump environment for debugging purposes:
echo "*** ALL ENVIRONMENT VARIABLES BEFORE BUILD: ***"
if [ -n "$GITHUB_ACTIONS" ]; then
echo "::group::*** ALL ENVIRONMENT VARIABLES BEFORE BUILD: ***"
else
echo "*** ALL ENVIRONMENT VARIABLES BEFORE BUILD: ***"
fi
env | sort
printf '\E[m'
echo "***********************************************"
if [ -n "$GITHUB_ACTIONS" ]; then
echo "::endgroup::"
fi

# look_for_errors: search log files for error messages and print a summary.
# arguments:
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/_python3.10/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python==3.10
python=3.10
2 changes: 1 addition & 1 deletion build/pkgs/_python3.11/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python==3.11
python=3.11
2 changes: 1 addition & 1 deletion build/pkgs/_python3.12/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python==3.12
python=3.12
2 changes: 1 addition & 1 deletion build/pkgs/_python3.9/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python==3.9
python=3.9
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=6c2020ef6639a24eb777eb1fa1adfca6dbd4520c
md5=c8641bab76511afffa14c46c8a6f4c73
cksum=1432162721
sha1=b541ad9d1ac812e89f0ce2012c17552c1f4cb006
md5=b79a13b000f4e27fc73b0210892b81b3
cksum=501150596
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
883e05f8ee0f97b25cf28c97859c615d9ea314f7
705a0ee9bf39c15090e8998a0366de7e76255772
2 changes: 1 addition & 1 deletion build/pkgs/database_cubic_hecke/dependencies_check
Original file line number Diff line number Diff line change
@@ -1 +1 @@
$(SAGERUNTIME) conway_polynomials ipywidgets sympy singular gap libhomfly libbraiding matplotlib
$(SAGERUNTIME) conway_polynomials ipywidgets sympy singular gap libhomfly libbraiding sphinx networkx scipy sympy matplotlib pillow mpmath fpylll
2 changes: 1 addition & 1 deletion build/pkgs/database_knotinfo/dependencies_check
Original file line number Diff line number Diff line change
@@ -1 +1 @@
$(SAGERUNTIME) ipywidgets sympy singular gap libhomfly libbraiding matplotlib
$(SAGERUNTIME) ipywidgets sympy singular gap libhomfly libbraiding sphinx networkx scipy sympy matplotlib pillow mpmath fpylll
2 changes: 1 addition & 1 deletion build/pkgs/mathics/dependencies_check
Original file line number Diff line number Diff line change
@@ -1 +1 @@
$(SAGERUNTIME) ipywidgets importlib_metadata sympy mpmath matplotlib
$(SAGERUNTIME) ipywidgets importlib_metadata sympy sphinx networkx scipy sympy matplotlib pillow mpmath fpylll
2 changes: 1 addition & 1 deletion build/pkgs/nauty/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.8.6.p0
2.8.6.p1
8 changes: 7 additions & 1 deletion build/pkgs/nauty/spkg-install.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
cd src

NAUTY_CONFIGURE=""

if [ "$SAGE_FAT_BINARY" = "yes" ]; then
NAUTY_CONFIGURE+="--enable-generic --disable-popcnt"
fi

# Nauty doesn't have an install target; passing a prefix to configure is
# useless (but harmless)
sdh_configure CC="$CC -fPIC"
sdh_configure CC="$CC -fPIC" $NAUTY_CONFIGURE
sdh_make

# No install target so we resort to manual copy
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/sage_conf/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-conf ~= 10.2rc2
sage-conf ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sage_docbuild/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-docbuild ~= 10.2rc2
sage-docbuild ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sage_setup/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-setup ~= 10.2rc2
sage-setup ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sage_sws2rst/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-sws2rst ~= 10.2rc2
sage-sws2rst ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-standard ~= 10.2rc2
sagemath-standard ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_bliss/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-bliss ~= 10.2rc2
sagemath-bliss ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_categories/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-categories ~= 10.2rc2
sagemath-categories ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_coxeter3/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-coxeter3 ~= 10.2rc2
sagemath-coxeter3 ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_environment/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-environment ~= 10.2rc2
sagemath-environment ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_mcqd/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-mcqd ~= 10.2rc2
sagemath-mcqd ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_meataxe/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-meataxe ~= 10.2rc2
sagemath-meataxe ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_objects/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-objects ~= 10.2rc2
sagemath-objects ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_repl/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-repl ~= 10.2rc2
sagemath-repl ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_sirocco/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-sirocco ~= 10.2rc2
sagemath-sirocco ~= 10.2rc3
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_tdlib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-tdlib ~= 10.2rc2
sagemath-tdlib ~= 10.2rc3
2 changes: 1 addition & 1 deletion pkgs/sage-conf/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sage-conf_conda/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sage-conf_pypi/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sage-docbuild/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sage-setup/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sage-sws2rst/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-bliss/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-categories/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-coxeter3/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-environment/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-mcqd/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-meataxe/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-objects/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-repl/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-sirocco/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion pkgs/sagemath-tdlib/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
2 changes: 1 addition & 1 deletion src/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc2
10.2.rc3
6 changes: 3 additions & 3 deletions src/bin/sage-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
# which stops "setup.py develop" from rewriting it as a Python file.
:
# This file is auto-generated by the sage-update-version script, do not edit!
SAGE_VERSION='10.2.rc2'
SAGE_RELEASE_DATE='2023-11-12'
SAGE_VERSION_BANNER='SageMath version 10.2.rc2, Release Date: 2023-11-12'
SAGE_VERSION='10.2.rc3'
SAGE_RELEASE_DATE='2023-11-14'
SAGE_VERSION_BANNER='SageMath version 10.2.rc3, Release Date: 2023-11-14'
14 changes: 7 additions & 7 deletions src/doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,17 @@ doc-inventory-reference: doc-src
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" doc-inventory--reference_top
endif

# reference manual, html
doc-html-reference: doc-inventory-reference
# sub docs of reference manual, html
doc-html-reference-sub: doc-inventory-reference
$(eval DOCS = $(shell sage --docbuild --all-documents reference))
@if [ -z "$(DOCS)" ]; then echo "Error: 'sage --docbuild --all-documents' failed"; exit 1; fi
$(eval BIBLIO = $(firstword $(DOCS)))
$(eval OTHER_DOCS = $(wordlist 2, 100, $(DOCS)))
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" doc-html--$(subst /,-,$(BIBLIO))
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" $(foreach doc, $(OTHER_DOCS), doc-html--$(subst /,-,$(doc)))

# reference manual, html; reference_top is built after sub docs
doc-html-reference: doc-html-reference-sub
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" doc-html--reference_top

# other documentation, html
Expand All @@ -79,16 +82,13 @@ doc-pdf-reference: doc-inventory-reference
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" doc-pdf--reference_top

# other documentation, pdf
doc-pdf-other: doc-html-reference
doc-pdf-other: doc-pdf-reference
$(eval DOCS = $(shell sage --docbuild --all-documents all))
@if [ -z "$(DOCS)" ]; then echo "Error: 'sage --docbuild --all-documents' failed"; exit 1; fi
$(MAKE) SAGE_DOCBUILD_OPTS="$(SAGE_DOCBUILD_OPTS) --no-prune-empty-dirs" $(foreach doc, $(wordlist 2, 100, $(DOCS)), doc-pdf--$(subst /,-,$(doc)))

# website with pdf links
doc-pdf-website:
sage --docbuild website html $(SAGE_DOCBUILD_OPTS)
doc-pdf: doc-pdf-reference doc-pdf-other

doc-pdf: doc-pdf-reference doc-pdf-other doc-pdf-website

.PHONY: all clean \
doc-src \
Expand Down
Loading

0 comments on commit b1ae6ee

Please sign in to comment.