Skip to content

Commit 3138751

Browse files
committed
Merge remote-tracking branch 'origin/develop' into grhkm/schemes-docs
2 parents 421ef0f + acbe15d commit 3138751

File tree

364 files changed

+4379
-526612
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

364 files changed

+4379
-526612
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,26 @@
1-
<!-- ^^^^^
2-
Please provide a concise, informative and self-explanatory title.
3-
Don't put issue numbers in there, do this in the PR body below.
4-
For example, instead of "Fixes #1234" use "Introduce new method to calculate 1+1"
5-
-->
6-
<!-- Describe your changes here in detail -->
1+
<!-- ^ Please provide a concise and informative title. -->
2+
<!-- ^ Don't put issue numbers in the title, do this in the PR description below. -->
3+
<!-- ^ For example, instead of "Fixes #12345" use "Introduce new method to calculate 1 + 2". -->
4+
<!-- v Describe your changes below in detail. -->
5+
<!-- v Why is this change required? What problem does it solve? -->
6+
<!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes #12345". -->
7+
78

8-
<!-- Why is this change required? What problem does it solve? -->
9-
<!-- If this PR resolves an open issue, please link to it here. For example "Fixes #12345". -->
10-
<!-- If your change requires a documentation PR, please link it appropriately. -->
119

1210
### :memo: Checklist
1311

1412
<!-- Put an `x` in all the boxes that apply. -->
15-
<!-- If your change requires a documentation PR, please link it appropriately -->
16-
<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
17-
<!-- Feel free to remove irrelevant items. -->
1813

19-
- [ ] The title is concise, informative, and self-explanatory.
14+
- [ ] The title is concise and informative.
2015
- [ ] The description explains in detail what this PR is about.
2116
- [ ] I have linked a relevant issue or discussion.
2217
- [ ] I have created tests covering the changes.
2318
- [ ] I have updated the documentation accordingly.
2419

2520
### :hourglass: Dependencies
2621

27-
<!-- List all open PRs that this PR logically depends on
28-
- #12345: short description why this is a dependency
29-
- #34567: ...
30-
-->
22+
<!-- List all open PRs that this PR logically depends on. For example, -->
23+
<!-- - #12345: short description why this is a dependency -->
24+
<!-- - #34567: ... -->
25+
3126

32-
<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->

.github/workflows/ci-conda.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,26 @@ jobs:
2222

2323
strategy:
2424
matrix:
25-
os: [ubuntu, macos]
26-
python: ['3.9', '3.10', '3.11']
25+
# On pushes to tags or branches, test the whole matrix.
26+
os: >-
27+
${{ github.event_name == 'pull_request'
28+
&& fromJson('["ubuntu"]')
29+
|| fromJson('["ubuntu", "macos"]') }}
30+
python: >-
31+
${{ github.event_name == 'pull_request'
32+
&& fromJson('["3.9"]')
33+
|| fromJson('["3.9", "3.10", "3.11"]') }}
2734
# Optional environment is disabled for now as its not yet working
2835
# environment: [environment, environment-optional]
2936
conda-env: [environment]
37+
# On pull requests, only test two jobs:
38+
# Ubuntu with Python 3.9, macOS with Python 3.10.
39+
# Build & Test currently uses Python 3.11 (on ubuntu-focal).
40+
# Together, they cover the supported minor Python versions.
41+
include: >-
42+
${{ github.event_name == 'pull_request'
43+
&& fromJson('[{"os": "macos", "python": "3.10", "conda-env": "environment"}]')
44+
|| fromJson('[]') }}
3045
3146
steps:
3247
- uses: actions/checkout@v4

.gitpod-setup-trac-remote.sh

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,8 @@
33
# Exit on error
44
set -e
55

6-
# Setup trac as remote
7-
## In order to push to trac, generate a new key with `ssh-keygen -f tempkey` and save the private key to gitpod `gp env PRIVATE_SSH_KEY="$(<tempkey)"` (or by following https://www.gitpod.io/docs/environment-variables#using-the-account-settings)
8-
## then follow https://doc.sagemath.org/html/en/developer/trac.html#linking-your-public-key-to-your-trac-account to register the public key with trac.
9-
## Afterwards, create a new gitpod workspace.
10-
git remote remove trac 2> /dev/null || true # might still exists from a previous run/prebuild
11-
if [[ -n "${PRIVATE_SSH_KEY}" ]]; then
12-
# Setup ssh key for authentication with trac
13-
mkdir -p ~/.ssh
14-
echo $PRIVATE_SSH_KEY | sed 's/\(-----\(BEGIN\|END\) OPENSSH PRIVATE KEY-----\)/\n\1\n/g' > ~/.ssh/id_rsa
15-
sed -i '/^$/d' ~/.ssh/id_rsa
16-
chmod 600 ~/.ssh/id_rsa
17-
echo "PubkeyAcceptedKeyTypes +ssh-rsa" > ~/.ssh/config
18-
ssh-keyscan -H trac.sagemath.org >> ~/.ssh/known_hosts
6+
git remote remove trac 2> /dev/null || true # might still exists from a previous run/prebuild
197

20-
# Setup trac repo
21-
git remote add trac [email protected]:sage.git -t master -t develop -t $(git branch --show-current)
22-
git remote set-url --push trac [email protected]:sage.git
23-
git fetch trac
24-
git branch -u trac/$(git branch --show-current)
25-
else
26-
# Fallback to sagemath mirror
27-
git remote add trac https://github.com/sagemath/sagetrac-mirror.git -t master -t develop
28-
git remote set-url --push trac pushing-needs-ssh-key
29-
fi
8+
# Setup trac as remote
9+
git remote add trac https://github.com/sagemath/sagetrac-mirror.git -t master -t develop
10+
git remote set-url --push trac no-pushing--this-is-a-read-only-archive

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ title: SageMath
44
abstract: SageMath is a free open-source mathematics software system.
55
authors:
66
- name: "The SageMath Developers"
7-
version: 10.3.beta8
7+
version: 10.3.rc0
88
doi: 10.5281/zenodo.593563
9-
date-released: 2024-02-13
9+
date-released: 2024-02-25
1010
repository-code: "https://github.com/sagemath/sage"
1111
url: "https://www.sagemath.org/"

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ environment.
1515

1616
All code is peer-reviewed, all functions must be documented and
1717
unit-tested on a variety of platforms and systems. Python is used as a
18-
base language, Git is used as the source code revision system, and
19-
Trac is used to track all support/development issues. All of these
20-
tools are very capable and used in many other small and large-scale
21-
projects. From a software engineering standpoint, SageMath is a
22-
wonderful project to be engaged in.
18+
base language, and development takes place on GitHub, with Git as the
19+
source code revision system. All of these tools are very capable and
20+
used in many other small and large-scale projects. From a software
21+
engineering standpoint, SageMath is a wonderful project to be engaged
22+
in.
2323

2424
The mailing lists are extremely supportive and responsive. There are
2525
several hundred people that have contributed code directly to SageMath

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ micro_release:
201201

202202
# Leaves everything that is needed to make the next "make" fast but removes
203203
# all the cheap build artifacts that can be quickly regenerated.
204-
# Trac #30960: We no longer uninstall sagelib.
204+
# Issue #30960: We no longer uninstall sagelib.
205205
fast-rebuild-clean: misc-clean
206206
rm -rf upstream/
207207
rm -rf build/pkgs/sagelib/src/build/temp.*

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 10.3.beta8, Release Date: 2024-02-13
1+
SageMath version 10.3.rc0, Release Date: 2024-02-25

build/bin/sage-bootstrap-python

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,23 @@ SAGE_ORIG_PATH=${NEW_PATH%%':'}
2727
# So it needs to find a python that has the urllib module.
2828
# For example, on Debian buster, the python3-minimal package does NOT provide it.
2929
#
30-
# Also, Trac #20023 removed the vendored argparse library from sage_bootstrap,
30+
# Also, Issue #20023 removed the vendored argparse library from sage_bootstrap,
3131
# so we test that python is new enough (>= 2.7) to run it.
3232
#
3333
# See https://github.com/sagemath/sage/issues/29090
3434

35-
# Trac #29890: Our first choice is "python", not "python3". This is to avoid
35+
# Issue #29890: Our first choice is "python", not "python3". This is to avoid
3636
# a defect of sage_bootstrap on macOS regarding SSL URLs.
3737

38-
# Trac #30177: Also check for hashlib.sha1 to guard against broken python2
38+
# Issue #30177: Also check for hashlib.sha1 to guard against broken python2
3939
# from old homebrew installations. Also check whether the current directory
4040
# is accessible by this python; this is to guard on WSL against Pythons
4141
# installed somewhere else in Windows.
4242

43-
# Trac #29285: Do not accept pythons that manipulate PATH, such as
43+
# Issue #29285: Do not accept pythons that manipulate PATH, such as
4444
# the shims provided by pyenv.
4545

46-
# Trac #30008: Make it work even if the environment tries to sabotage UTF-8
46+
# Issue #30008: Make it work even if the environment tries to sabotage UTF-8
4747
# operation in Python 3.0.x-3.6.x by setting LC_ALL=C or similar.
4848

4949
if [ "$LC_ALL" = "C" -o "$LANG" = "C" -o "$LC_CTYPE" = "C" ]; then
@@ -54,7 +54,7 @@ if [ "$LC_ALL" = "C" -o "$LANG" = "C" -o "$LC_CTYPE" = "C" ]; then
5454
fi
5555

5656
PYTHONS="python python3 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python2.7 python3.6 python2"
57-
# Trac #32405: Prefer a Python that provides ssl with SNI, which allows developers
57+
# Issue #32405: Prefer a Python that provides ssl with SNI, which allows developers
5858
# to download from upstream URLs (configure --enable-download-from-upstream-url),
5959
# in particular from PyPI, which requires SNI.
6060
for PY in $PYTHONS; do

build/bin/sage-build-env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ if [ "x$SAGE_BUILD_ENV_SOURCED" = "x" ]; then
177177
fi
178178
fi
179179

180-
# Trac #31335: Avoid include paths leaking in from homebrew python3's distutils.cfg
180+
# Issue #31335: Avoid include paths leaking in from homebrew python3's distutils.cfg
181181
# by using setuptools' own copy of distutils instead of relying on stdlib distutils
182-
# Trac #32944: Only do this on homebrew.
182+
# Issue #32944: Only do this on homebrew.
183183
if [ -n "$HOMEBREW" ]; then
184184
export SETUPTOOLS_USE_DISTUTILS=local
185185
fi

build/bin/sage-dist-helpers

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ sdh_make_install() {
211211
}
212212

213213
sdh_setup_bdist_wheel() {
214-
# Trac #32046: Most uses of this function can be replaced by sdh_pip_install
214+
# Issue #32046: Most uses of this function can be replaced by sdh_pip_install
215215
mkdir -p dist
216216
rm -f dist/*.whl
217217
BDIST_DIR="$(mktemp -d)"
@@ -364,14 +364,14 @@ sdh_store_and_pip_install_wheel() {
364364
echo "sdh_actually_pip_install_wheel $distname $pip_options -r \"\$SAGE_SPKG_SCRIPTS/\$PKG_BASE/spkg-requirements.txt\"" >> "$script_dir"/spkg-pipinst
365365
else
366366
if [ -n "$SAGE_DESTDIR" ]; then
367-
# Trac #29585: Do the SAGE_DESTDIR staging of the wheel installation
367+
# Issue #29585: Do the SAGE_DESTDIR staging of the wheel installation
368368
# ONLY if SAGE_SUDO is set (in that case, we still do the staging so
369369
# that we do not invoke pip as root).
370370
# --no-warn-script-location: Suppress a warning caused by --root
371371
local sudo=""
372372
local root="--root=$SAGE_DESTDIR --no-warn-script-location"
373373
elif [ -n "$SAGE_SUDO" ]; then
374-
# Trac #32361: For script packages, we do have to invoke pip as root.
374+
# Issue #32361: For script packages, we do have to invoke pip as root.
375375
local sudo="$SAGE_SUDO"
376376
local root=""
377377
else
@@ -387,7 +387,7 @@ sdh_store_and_pip_install_wheel() {
387387
sdh_actually_pip_install_wheel() {
388388
distname=$1
389389
shift
390-
# Trac #32659: pip no longer reinstalls local wheels if the version is the same.
390+
# Issue #32659: pip no longer reinstalls local wheels if the version is the same.
391391
# Because neither (1) applying patches nor (2) local changes (in the case
392392
# of sage-conf, sage-setup, etc.) bump the version number, we need to
393393
# override this behavior. The pip install option --force-reinstall does too

0 commit comments

Comments
 (0)