Skip to content

Commit aeb705a

Browse files
committed
Merge remote-tracking branch 'origin/develop' into develop
2 parents c1bd490 + 9ac8977 commit aeb705a

File tree

359 files changed

+4491
-1341
lines changed

Some content is hidden

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

359 files changed

+4491
-1341
lines changed

.github/workflows/ci-meson.yml

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
os: ['ubuntu', 'macos']
28+
os: ['ubuntu', 'macos', 'windows']
2929
python: ['3.11', '3.12']
3030
tests: ['all']
3131
editable:
@@ -39,6 +39,9 @@ jobs:
3939
python: 3.12
4040
editable: true
4141
tests: 'all'
42+
- os: windows
43+
python: '3.13'
44+
tests: 'all'
4245

4346
steps:
4447
- uses: actions/checkout@v4
@@ -66,6 +69,17 @@ jobs:
6669
path: ~/conda_pkgs_dir
6770
key:
6871
${{ runner.os }}-conda-${{ hashFiles('environment-3.11-linux.yml') }}
72+
73+
- name: Setup MSVC environment
74+
if: runner.os == 'windows'
75+
uses: ilammy/msvc-dev-cmd@v1
76+
77+
- name: Remove Git link.exe
78+
if: runner.os == 'windows'
79+
# It conflicts with the vs linker
80+
# So we delete it, following the advice on https://github.com/ilammy/msvc-dev-cmd?tab=readme-ov-file#name-conflicts-with-shell-bash
81+
run: rm -f "C:/Program Files/Git/usr/bin/link.exe"
82+
shell: bash
6983

7084
- name: Compiler cache
7185
uses: hendrikmuhs/[email protected]
@@ -76,12 +90,14 @@ jobs:
7690
uses: conda-incubator/setup-miniconda@v3
7791
with:
7892
python-version: ${{ matrix.python }}
79-
miniforge-version: latest
93+
# Disabled for now due to
94+
# https://github.com/conda-incubator/setup-miniconda/issues/379
95+
# miniforge-version: latest
8096
use-mamba: true
8197
channels: conda-forge
8298
channel-priority: true
8399
activate-environment: sage-dev
84-
environment-file: environment-${{ matrix.python }}-${{ startsWith(matrix.os, 'macos') && (startsWith(runner.arch, 'ARM') && 'macos' || 'macos-x86_64') || 'linux' }}.yml
100+
environment-file: environment-${{ matrix.python }}-${{ startsWith(matrix.os, 'macos') && (startsWith(runner.arch, 'ARM') && 'macos' || 'macos-x86_64') || startsWith(matrix.os, 'ubuntu') && 'linux' || 'win' }}.yml
85101

86102
- name: Print Conda environment
87103
shell: bash -l {0}
@@ -92,9 +108,15 @@ jobs:
92108
- name: Build
93109
shell: bash -l {0}
94110
run: |
95-
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
96-
export CC="ccache $CC"
97-
export CXX="ccache $CXX"
111+
if [[ "$RUNNER_OS" != "Windows" ]]; then
112+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
113+
export CC="ccache $CC"
114+
export CXX="ccache $CXX"
115+
else
116+
export LIB="$LIB;$CONDA_PREFIX\\Library\\lib"
117+
export INCLUDE="$INCLUDE;$CONDA_PREFIX\\Library\\include"
118+
fi
119+
98120
# Use --no-deps and pip check below to verify that all necessary dependencies are installed via conda
99121
pip install --no-build-isolation --no-deps --config-settings=builddir=builddir ${{ matrix.editable && '--editable' || '' }} . -v
100122
@@ -104,7 +126,7 @@ jobs:
104126
shell: bash -l {0}
105127
if: matrix.tests == 'all'
106128
run: |
107-
python3 tools/update-meson.py
129+
python tools/update-meson.py
108130
if ! ./tools/test-git-no-uncommitted-changes; then
109131
git add --intent-to-add . # also show newly created files in git diff
110132
git status
@@ -123,7 +145,12 @@ jobs:
123145
# If editable then deleting the directory will cause sage to detect rebuild, which will cause ninja to fail
124146
# so we don't delete the directory in this case
125147
${{ matrix.editable && 'true' || 'rm -R ./src/sage_setup/' }}
126-
./sage -t ${{ matrix.tests == 'all' && '--all' || '--new --long' }} -p4 --format github
148+
if [[ "$RUNNER_OS" == "Windows" ]]; then
149+
# Ignore errors on Windows, for now
150+
pytest --doctest-ignore-import-errors --doctest -rfEs -s src || true
151+
else
152+
./sage -t ${{ matrix.tests == 'all' && '--all' || '--new --long' }} -p4 --format github
153+
fi
127154
128155
- name: Check that all modules can be imported
129156
shell: bash -l {0}

.github/workflows/dist.yml

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ on:
1010
- '[0-9]+.[0-9]+.[0-9]+.beta[0-9]+'
1111
- '[0-9]+.[0-9]+.rc[0-9]+'
1212
- '[0-9]+.[0-9]+.[0-9]+.rc[0-9]+'
13-
13+
pull_request:
14+
paths:
15+
- '.github/workflows/dist.yml'
1416
workflow_dispatch:
1517
# Allow to run manually
1618

@@ -80,24 +82,42 @@ jobs:
8082

8183
runs-on: ubuntu-latest
8284
env:
83-
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' }}
85+
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' && github.event_name != 'pull_request' }}
8486
steps:
8587
- uses: actions/checkout@v4
86-
- name: Install bootstrap prerequisites
88+
89+
- name: Setup Conda environment
90+
uses: conda-incubator/setup-miniconda@v3
91+
with:
92+
python-version: 3.12
93+
miniforge-version: latest
94+
use-mamba: true
95+
channels: conda-forge
96+
channel-priority: true
97+
activate-environment: sage-dev
98+
environment-file: environment-3.12-linux.yml
99+
100+
- name: Create source distribution
101+
shell: bash -l {0}
102+
run: |
103+
conda install --yes python-build
104+
python -m build --sdist --no-isolation --outdir dist .
105+
106+
- name: Old sagemath-standard
87107
run: |
88108
sudo DEBIAN_FRONTEND=noninteractive apt-get update
89109
sudo DEBIAN_FRONTEND=noninteractive apt-get install $(build/bin/sage-get-system-packages debian _bootstrap)
90-
- name: make pypi-sdists
91-
run: |
92110
./bootstrap
93111
./configure
94112
make pypi-sdists V=0
95-
(mkdir dist && mv upstream/sage*.tar.gz dist/)
113+
mv upstream/sage*.tar.gz dist/
96114
ls -l dist
115+
97116
- uses: actions/upload-artifact@v4
98117
with:
99118
path: "dist/*.tar.gz"
100119
name: dist
120+
101121
- uses: pypa/gh-action-pypi-publish@release/v1
102122
with:
103123
user: __token__
@@ -161,7 +181,7 @@ jobs:
161181

162182
runs-on: ubuntu-latest
163183
env:
164-
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' }}
184+
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' && github.event_name != 'pull_request' }}
165185
steps:
166186
- uses: actions/checkout@v4
167187
- name: Install bootstrap prerequisites
@@ -304,7 +324,7 @@ jobs:
304324
needs: build_wheels
305325
runs-on: ubuntu-latest
306326
env:
307-
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' }}
327+
CAN_DEPLOY: ${{ secrets.SAGEMATH_PYPI_API_TOKEN != '' && github.event_name != 'pull_request' }}
308328
steps:
309329

310330
- uses: actions/download-artifact@v4

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,11 @@ builddir-*
305305
build-install
306306
build/cp*
307307

308+
# Meson subprojects
309+
/subprojects/*
310+
!/subprojects/*.wrap
311+
!/subprojects/packagefiles
312+
308313
# Meson temporary files
309314
subprojects/wrapdb.json
310315
src/sage/interfaces/__init__.py

.vscode/settings.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// This settings file is not ignored by git.
33
"files.exclude": {
44
"**/__pycache__": true,
5-
"src/**/*.cpp": true,
65
"src/**/*.so": true
76
},
87
"search.exclude": {

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.7.beta3
7+
version: 10.7.beta4
88
doi: 10.5281/zenodo.8042260
9-
date-released: 2025-05-11
9+
date-released: 2025-05-18
1010
repository-code: "https://github.com/sagemath/sage"
1111
url: "https://www.sagemath.org/"

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 10.7.beta3, Release Date: 2025-05-11
1+
SageMath version 10.7.beta4, Release Date: 2025-05-18

build/pkgs/configure/checksums.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=343cae814ac674ace81de9f0af5eca6347fee347
3-
sha256=622cbdc34c528eb4594c553a2b8e9957d8d93fc3e439e91243985b24095217ec
2+
sha1=2b82d3f61ce5242564303693ec5cf868bed70e67
3+
sha256=307a4306540a791edb795baad821ebc708a589960146c4a20d3d14aa730fc1ea
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19e94c2106f252c28c17b55f6a8db1a19b45e00b
1+
731c1bad33aa2dc17ded3fb92e76203331ecd3f5

build/pkgs/cypari/checksums.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=cypari2-VERSION.tar.gz
2-
sha1=556d1a16818663ba6e6a3c9d2b14cc907a7eef4c
3-
sha256=aaa017a6a280581902f73cf5ce1695712b6598a032be14cfab81f97c475f83b8
2+
sha1=5d91408a6e28e43d429667554d2696cfbd58c35b
3+
sha256=13a338735ea221c1068f8fc415561bf777d8c68725702bc749547264fd091720
44
upstream_url=https://files.pythonhosted.org/packages/source/c/cypari2/cypari2-VERSION.tar.gz

build/pkgs/cypari/package-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.2.1
1+
2.2.2

0 commit comments

Comments
 (0)