This repository has been archived by the owner on Jan 30, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
730 changed files
with
15,981 additions
and
5,666 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: Build documentation | ||
|
||
on: | ||
push: | ||
workflow_dispatch: | ||
# Allow to run manually | ||
|
||
concurrency: | ||
# Cancel previous runs of this workflow for the same branch | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-docs: | ||
runs-on: ubuntu-latest | ||
container: ghcr.io/sagemath/sage/sage-docker-ubuntu-focal-standard-with-targets:9.5 | ||
if: github.repository == 'sagemath/sagetrac-mirror' | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Prepare | ||
run: | | ||
# Reuse built SAGE_LOCAL contained in the Docker image | ||
./bootstrap | ||
./configure --enable-build-as-root --prefix=/sage/local --with-sage-venv | ||
- name: Build | ||
run: make doc-html | ||
env: | ||
MAKE: make -j2 | ||
SAGE_NUM_THREADS: 2 | ||
|
||
- name: Copy docs | ||
run: | | ||
# For some reason the deploy step below cannot find /sage/... | ||
# So copy everything from there to local folder | ||
# We also need to replace the symlinks because netlify is not following them | ||
mkdir -p ./docs | ||
cp -r -L /sage/local/share/doc/sage/html/en/* ./docs | ||
- name: Deploy to Netlify preview | ||
id: preview-netlify | ||
if: github.ref != 'refs/heads/develop' | ||
uses: netlify/actions/cli@master | ||
with: | ||
args: deploy --dir=docs --alias="${NETLIFY_ALIAS}" | ||
env: | ||
# Set deployment url to commit hash to easily link from the trac. | ||
# We could also set NETLIFY_ALIAS to the branch name. | ||
# However, netlify currently doesn't support updates to a deployment with the same alias | ||
# https://github.com/netlify/cli/issues/948 | ||
# https://github.com/netlify/cli/issues/1984 | ||
# Note that even if this feature is implemented, one would also need to first process the branch name | ||
# to workaround the bug https://github.com/netlify/cli/issues/969. | ||
NETLIFY_ALIAS: ${{ github.sha }} | ||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | ||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | ||
|
||
- name: Deploy to Netlify production | ||
id: deploy-netlify | ||
if: github.ref == 'refs/heads/develop' | ||
uses: netlify/actions/cli@master | ||
with: | ||
args: deploy --dir=docs --prod | ||
env: | ||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | ||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | ||
|
||
- name: Report deployment url | ||
run: | | ||
echo "::notice::The documentation has being automatically deployed to Netlify. %0A ✅ Preview: ${{ steps.preview-netlify.outputs.NETLIFY_URL || steps.deploy-netlify.outputs.NETLIFY_URL }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# CI Test For Individual Tickets | ||
|
||
name: Ticket CI | ||
|
||
on: | ||
push: | ||
branches: | ||
# Once set to positive review, the branch from the trac ticket | ||
# number 12345 will be copied to ticket/12345 | ||
- 'ticket/**' | ||
|
||
|
||
jobs: | ||
ticket_ci: | ||
|
||
# TODO: this action is only a placeholder, github actions needs | ||
# this in the master branch to enable it | ||
|
||
name: Ticket CI | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.8 | ||
- name: Install pycodestyle | ||
run: pip install tox pycodestyle | ||
- name: Lint using pycodestyle | ||
run: tox -e pycodestyle-minimal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# Use custom docker image. https://www.gitpod.io/docs/config-docker | ||
image: | ||
# Each of these two options works: | ||
# - Directly use the "-with-targets" image built by .github/workflows/tox.yml | ||
# image: ghcr.io/sagemath/sage/sage-docker-gitpod-standard-with-targets:dev | ||
# - or go through a custom Dockerfile, which builds a smaller image | ||
# based on the "-with-system-packages" image built by .github/workflows/tox.yml | ||
# with the built SAGE_LOCAL from the "-with-targets" image copied in. | ||
file: docker/.gitpod.Dockerfile | ||
|
||
# We use the following layout: | ||
# | ||
# $HOME/sage Source tree used by the Docker build; see SAGE_ROOT/tox.ini (gitpod). | ||
# - We delete it in every invocation of the 'before' script | ||
# and replace it by a symlink to /workspace/... | ||
# (This symlink is needed because the package-removal scripts | ||
# ({prefix,venv}/var/lib/sage/scripts/*/{spkg-piprm,spkg-prerm,spkg-postrm) | ||
# hardcode SAGE_ROOT and SAGE_SRC from package installation time) | ||
# $HOME/sage/logs Logs of the Docker build. | ||
# - In the first invocation of the 'before' script, we move it | ||
# to /workspace/.../logs | ||
# $HOME/sage-local The configured prefix (SAGE_LOCAL) of the Sage installation. | ||
# - During the Docker build, this is the physical location. | ||
# - In the first invocation of the 'before' script, we move it | ||
# to the new physical location /workspace/.../local | ||
# (because gitpod only preserves the contents of /workspace) | ||
# and replace it by a symlink to the new physical location. | ||
# - In subsequent invocations of the 'before' script, we | ||
# remove it and replace it by a symlink to the physical | ||
# location /workspace/.../local | ||
# /worktree/.../local The physical location of the Sage installation, | ||
# established in the first run of the 'before' script and | ||
# preserved by gitpod. | ||
|
||
# Start up tasks. https://www.gitpod.io/docs/config-start-tasks/ | ||
tasks: | ||
- name: Setup | ||
before: | | ||
# Setup ssh key for authentication with trac | ||
## In order to use this, 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) | ||
## 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. | ||
mkdir -p ~/.ssh | ||
echo $PRIVATE_SSH_KEY | sed 's/\(-----\(BEGIN\|END\) OPENSSH PRIVATE KEY-----\)/\n\1\n/g' > ~/.ssh/id_rsa | ||
sed -i '/^$/d' ~/.ssh/id_rsa | ||
chmod 600 ~/.ssh/id_rsa | ||
unset PRIVATE_SSH_KEY | ||
ssh-keyscan -H trac.sagemath.org >> ~/.ssh/known_hosts | ||
## No need for pyenv | ||
pyenv shell --unset | ||
pyenv global system | ||
if [ -d local ]; then | ||
mkdir -p logs && echo '### .gitpod.yml Setup.before: Prebuild init script has been run. Running "make" again in case the build had timed out.' >> logs/install.log | ||
# The init script has already populated the SAGE_LOCAL, | ||
# but only /workspace is preserved; and the $HOME/sage-local may contain a resurrected | ||
# copy of sage-local. Replace it again by a symlink. | ||
rm -Rf $HOME/sage-local | ||
ln -sf $(pwd)/local $HOME/sage-local | ||
# Now run make. No timeout here. | ||
MAKE='make -j24' make build V=0 | ||
else | ||
# Prebuild init script has not been run | ||
# Only /workspace is preserved during build. | ||
# If the Docker image contains a built SAGE_LOCAL, use it to populate the SAGE_LOCAL in the workspace. | ||
if [ -d $HOME/sage-local ]; then | ||
mv $HOME/sage-local local | ||
fi | ||
rm -Rf $HOME/sage-local | ||
ln -sf $(pwd)/local $HOME/sage-local | ||
# Save the logs of the source tree used by the Docker build | ||
if [ -d $HOME/sage/logs ]; then | ||
mv $HOME/sage/logs logs | ||
fi | ||
fi | ||
# Remove the source tree used by the Docker build and replace it by a symlink | ||
rm -Rf $HOME/sage | ||
ln -s $(pwd) $HOME/sage | ||
init: | | ||
# Setup trac repo | ||
git remote add trac [email protected]:sage.git -t master | ||
git remote set-url --push trac [email protected]:sage.git | ||
# Start build | ||
mkdir -p logs && echo '### .gitpod.yml Setup.init: Starting build' >> logs/install.log | ||
./bootstrap | ||
./configure --enable-editable --enable-download-from-upstream-url --prefix=$HOME/sage-local --with-sage-venv | ||
## Gitpod has a timeout of 1h, so make sure we are below this to ensure that the prebuild is always successful | ||
MAKE='make -j24' timeout 51m make build V=0 || echo "(ignoring error)" | ||
env: | ||
SAGE_NUM_THREADS: 8 | ||
|
||
# Preinstalled VS Code extensions. https://www.gitpod.io/docs/vscode-extensions | ||
vscode: | ||
extensions: | ||
- ms-pyright.pyright | ||
- ms-python.python | ||
- trond-snekvik.simple-rst | ||
- lextudio.restructuredtext | ||
- streetsidesoftware.code-spell-checker | ||
- ms-toolsai.jupyter | ||
|
||
# https://www.gitpod.io/docs/prebuilds#github-specific-configuration | ||
github: | ||
prebuilds: | ||
# enable for the default branch (defaults to true) | ||
master: true | ||
# enable for all branches in this repo (defaults to false) | ||
branches: true | ||
# enable for pull requests coming from this repo (defaults to true) | ||
pullRequests: true | ||
# enable for pull requests coming from forks (defaults to false) | ||
pullRequestsFromForks: true | ||
# add a check to pull requests (defaults to true) | ||
addCheck: true | ||
# add a "Review in Gitpod" button as a comment to pull requests (defaults to false) | ||
addComment: true | ||
# add a "Review in Gitpod" button to the pull request's description (defaults to false) | ||
addBadge: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.