Skip to content

Commit 2829d51

Browse files
committed
Merge branch 'develop' into quasimodform_implement_basis_of_weight
2 parents 6185e8c + fbb4127 commit 2829d51

File tree

186 files changed

+3623
-1694
lines changed

Some content is hidden

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

186 files changed

+3623
-1694
lines changed

.devcontainer/devcontainer.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/debian
3+
{
4+
"name": "Conda",
5+
"image": "mcr.microsoft.com/vscode/devcontainers/base:0-bullseye",
6+
7+
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
8+
"remoteUser": "vscode",
9+
10+
// Setup conda environment
11+
"onCreateCommand": ".devcontainer/onCreate-conda.sh",
12+
13+
// Install additional features.
14+
"features": {
15+
// For config options, see https://github.com/devcontainers/features/tree/main/src/conda
16+
"ghcr.io/devcontainers/features/conda": {
17+
"version": "latest",
18+
"addCondaForge": "true"
19+
}
20+
},
21+
"customizations": {
22+
"vscode": {
23+
"extensions": [
24+
"guyskk.language-cython",
25+
"ms-python.isort",
26+
"ms-toolsai.jupyter",
27+
"ms-python.vscode-pylance",
28+
"ms-python.pylint",
29+
"ms-python.python",
30+
"lextudio.restructuredtext",
31+
"trond-snekvik.simple-rst"
32+
]
33+
}
34+
}
35+
}

.devcontainer/onCreate-conda.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Do not keep running on errors
2+
set -e
3+
4+
# Create conda environment
5+
./bootstrap-conda
6+
conda install mamba -n base -c conda-forge -y
7+
mamba env create --file src/environment-dev.yml || mamba env update --file src/environment-dev.yml
8+
conda init bash
9+
10+
# Build sage
11+
conda run -n sage-dev ./bootstrap
12+
conda run -n sage-dev ./configure --with-python=/opt/conda/envs/sage-dev/bin/python --prefix=/opt/conda/envs/sage-dev
13+
conda run -n sage-dev pip install --no-build-isolation -v -v -e ./pkgs/sage-conf ./pkgs/sage-setup
14+
conda run -n sage-dev pip install --no-build-isolation -v -v -e ./src

.github/workflows/ci-cygwin-minimal.yml

Lines changed: 0 additions & 1042 deletions
This file was deleted.

.github/workflows/ci-cygwin-standard.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,11 @@ jobs:
5959
needs: [cygwin-stage-i-a, cygwin-stage-i-b]
6060

6161
cygwin-stage-ii-e:
62-
env:
63-
STAGE: ii-e
64-
PREVIOUS_STAGES: i-*
65-
TARGETS: threejs tachyon pillow jmol m4rie sympy lrcalc lcalc symmetrica cliquer libbraiding planarity rw elliptic_curves combinatorial_designs sympow
66-
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
67-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
68-
62+
uses: ./.github/workflows/cygwin.yml
63+
with:
64+
stage: ii-e
65+
previous_stages: i-*
66+
targets: threejs tachyon pillow jmol m4rie sympy lrcalc lcalc symmetrica cliquer libbraiding planarity rw elliptic_curves combinatorial_designs sympow
6967
needs: [cygwin-stage-i-a, cygwin-stage-i-b]
7068

7169
############################################## stage-iii ##########################################

.github/workflows/ci-linux.yml

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -162,41 +162,3 @@ jobs:
162162
["maximal"]
163163
docker_targets: "with-targets-optional"
164164
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]))'
165-
166-
local-ubuntu:
167-
168-
runs-on: ubuntu-latest
169-
strategy:
170-
fail-fast: false
171-
max-parallel: 1
172-
matrix:
173-
tox_system_factor: [conda-forge-ubuntu]
174-
tox_packages_factor: [minimal, standard, environment, environment-optional]
175-
env:
176-
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
177-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
178-
steps:
179-
- uses: actions/checkout@v3
180-
- name: Install test prerequisites
181-
run: |
182-
sudo DEBIAN_FRONTEND=noninteractive apt-get update
183-
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
184-
- name: Build and test with tox
185-
# We use a high parallelization on purpose in order to catch possible parallelization bugs in the build scripts.
186-
# For doctesting, we use a lower parallelization to avoid timeouts.
187-
run: |
188-
MAKE="make -j12" tox -e $TOX_ENV -- SAGE_NUM_THREADS=4 $TARGETS
189-
- name: Prepare logs artifact
190-
run: |
191-
mkdir -p "artifacts/$LOGS_ARTIFACT_NAME"; cp -r .tox/*/log "artifacts/$LOGS_ARTIFACT_NAME"
192-
if: always()
193-
- uses: actions/upload-artifact@v3
194-
with:
195-
path: artifacts
196-
name: ${{ env.LOGS_ARTIFACT_NAME }}
197-
if: always()
198-
- name: Print out logs for immediate inspection
199-
# and markup the output with GitHub Actions logging commands
200-
run: |
201-
.github/workflows/scan-logs.sh "artifacts/$LOGS_ARTIFACT_NAME"
202-
if: always()

.github/workflows/doc-build.yml

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ jobs:
1515
build-docs:
1616
runs-on: ubuntu-latest
1717
container: ghcr.io/sagemath/sage/sage-docker-ubuntu-focal-standard-with-targets:dev
18-
env:
19-
CAN_DEPLOY: ${{ secrets.NETLIFY_AUTH_TOKEN != '' }}
2018
steps:
2119
- name: Checkout
2220
uses: actions/checkout@v3
2321

2422
- name: Prepare
2523
run: |
24+
apt-get update && apt-get install -y zip
2625
# Reuse built SAGE_LOCAL contained in the Docker image
2726
./bootstrap
2827
./configure --enable-build-as-root --prefix=/sage/local --with-sage-venv --enable-download-from-upstream-url
@@ -34,43 +33,17 @@ jobs:
3433
SAGE_NUM_THREADS: 2
3534

3635
- name: Copy docs
37-
if: env.CAN_DEPLOY == 'true'
3836
run: |
3937
# For some reason the deploy step below cannot find /sage/...
4038
# So copy everything from there to local folder
4139
# We also need to replace the symlinks because netlify is not following them
4240
mkdir -p ./docs
4341
cp -r -L /sage/local/share/doc/sage/html/en/* ./docs
42+
# Zip everything for increased performance
43+
zip -r docs.zip docs
4444
45-
- name: Deploy to Netlify preview
46-
id: preview-netlify
47-
if: env.CAN_DEPLOY == 'true' && github.ref != 'refs/heads/develop'
48-
uses: netlify/actions/cli@master
45+
- name: Upload docs
46+
uses: actions/upload-artifact@v3
4947
with:
50-
args: deploy --dir=docs --alias="${NETLIFY_ALIAS}"
51-
env:
52-
# Set deployment url to commit hash to easily link from the trac.
53-
# We could also set NETLIFY_ALIAS to the branch name.
54-
# However, netlify currently doesn't support updates to a deployment with the same alias
55-
# https://github.com/netlify/cli/issues/948
56-
# https://github.com/netlify/cli/issues/1984
57-
# Note that even if this feature is implemented, one would also need to first process the branch name
58-
# to workaround the bug https://github.com/netlify/cli/issues/969.
59-
NETLIFY_ALIAS: ${{ github.sha }}
60-
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
61-
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
62-
63-
- name: Deploy to Netlify production
64-
id: deploy-netlify
65-
if: env.CAN_DEPLOY == 'true' && github.ref == 'refs/heads/develop'
66-
uses: netlify/actions/cli@master
67-
with:
68-
args: deploy --dir=docs --prod
69-
env:
70-
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
71-
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
72-
73-
- name: Report deployment url
74-
if: env.CAN_DEPLOY == 'true'
75-
run: |
76-
echo "::notice::The documentation has being automatically deployed to Netlify. %0A ✅ Preview: ${{ steps.preview-netlify.outputs.NETLIFY_URL || steps.deploy-netlify.outputs.NETLIFY_URL }}"
48+
name: docs
49+
path: docs.zip

.github/workflows/doc-publish.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Triggers after the documentation build has finished,
2+
# taking the artifact and uploading it to netlify
3+
name: Publish documentation
4+
5+
on:
6+
workflow_run:
7+
workflows: ["Build documentation"]
8+
types:
9+
- completed
10+
11+
permissions:
12+
statuses: write
13+
checks: write
14+
pull-requests: write
15+
16+
jobs:
17+
upload-docs:
18+
runs-on: ubuntu-latest
19+
if: github.event.workflow_run.conclusion == 'success'
20+
steps:
21+
- name: Get information about workflow origin
22+
uses: potiuk/get-workflow-origin@v1_5
23+
id: source-run-info
24+
with:
25+
token: ${{ secrets.GITHUB_TOKEN }}
26+
sourceRunId: ${{ github.event.workflow_run.id }}
27+
28+
# Once https://github.com/actions/download-artifact/issues/172 and/or https://github.com/actions/download-artifact/issues/60 is implemented, we can use the official download-artifact action
29+
# For now use the solution from https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
30+
- name: Download docs
31+
uses: actions/[email protected]
32+
with:
33+
script: |
34+
var artifacts = await github.actions.listWorkflowRunArtifacts({
35+
owner: context.repo.owner,
36+
repo: context.repo.repo,
37+
run_id: ${{github.event.workflow_run.id }},
38+
});
39+
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
40+
return artifact.name == "docs"
41+
})[0];
42+
var download = await github.actions.downloadArtifact({
43+
owner: context.repo.owner,
44+
repo: context.repo.repo,
45+
artifact_id: matchArtifact.id,
46+
archive_format: 'zip',
47+
});
48+
var fs = require('fs');
49+
fs.writeFileSync('${{github.workspace}}/docs.zip', Buffer.from(download.data));
50+
51+
- name: Extract docs
52+
run: unzip docs.zip -d docs && unzip docs/docs.zip -d docs/docs
53+
54+
- name: Deploy to Netlify
55+
id: deploy-netlify
56+
uses: netlify/actions/cli@master
57+
with:
58+
args: deploy --dir=docs/docs/docs ${NETLIFY_PRODUCTION:+"--prod"} --message ${NETLIFY_MESSAGE} --alias ${NETLIFY_ALIAS}
59+
env:
60+
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
61+
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
62+
NETLIFY_PRODUCTION: ${{ github.ref == 'refs/heads/develop' }}
63+
NETLIFY_MESSAGE: ${{ steps.source-run-info.outputs.pullRequestNumber }}
64+
NETLIFY_ALIAS: deploy-preview-${{ steps.source-run-info.outputs.pullRequestNumber }}
65+
66+
# Add deployment as status check, PR comment and annotation
67+
# we could use the nwtgck/actions-netlify action for that, except for that it is not (yet) working in workflow_run context: https://github.com/nwtgck/actions-netlify/issues/545
68+
- name: Add/Update deployment status PR comment
69+
uses: marocchino/sticky-pull-request-comment@v2
70+
with:
71+
number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
72+
header: preview-comment
73+
recreate: true
74+
message: |
75+
[Documentation preview for this PR](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}) is ready! :tada:
76+
Built with commit: ${{ steps.source-run-info.outputs.sourceHeadSha }}
77+
78+
- name: Update deployment status PR check
79+
uses: myrotvorets/[email protected]
80+
if: ${{ always() }}
81+
env:
82+
DEPLOY_SUCCESS: Successfully deployed preview.
83+
DEPLOY_FAILURE: Failed to deploy preview.
84+
with:
85+
token: ${{ secrets.GITHUB_TOKEN }}
86+
status: ${{ job.status == 'success' && 'success' || 'failure' }}
87+
sha: ${{ github.event.workflow_run.head_sha }}
88+
context: Deploy Documentation
89+
targetUrl: ${{ steps.deploy-netlify.outputs.NETLIFY_URL }}
90+
description: ${{ job.status == 'success' && env.DEPLOY_SUCCESS || env.DEPLOY_FAILURE }}
91+
92+
- name: Report deployment url
93+
run: |
94+
echo "::notice::The documentation has being automatically deployed to Netlify. %0A ✅ Preview: ${{ steps.deploy-netlify.outputs.NETLIFY_URL }}"
95+

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,6 @@ src/ENV/
221221
src/env.bak/
222222
src/venv.bak/
223223

224-
# devcontainer
225-
/.devcontainer/devcontainer.json
226-
227224
# mypy
228225
**/.mypy_cache/
229226

.zenodo.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"description": "Mirror of the Sage https://sagemath.org/ source tree",
33
"license": "other-open",
4-
"title": "sagemath/sage: 9.8.rc1",
5-
"version": "9.8.rc1",
4+
"title": "sagemath/sage: 10.0.beta0",
5+
"version": "10.0.beta0",
66
"upload_type": "software",
7-
"publication_date": "2023-02-05",
7+
"publication_date": "2023-02-12",
88
"creators": [
99
{
1010
"affiliation": "SageMath.org",
@@ -15,7 +15,7 @@
1515
"related_identifiers": [
1616
{
1717
"scheme": "url",
18-
"identifier": "https://github.com/sagemath/sage/tree/9.8.rc1",
18+
"identifier": "https://github.com/sagemath/sage/tree/10.0.beta0",
1919
"relation": "isSupplementTo"
2020
},
2121
{

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 9.8.rc1, Release Date: 2023-02-05
1+
SageMath version 10.0.beta0, Release Date: 2023-02-12

0 commit comments

Comments
 (0)