Monitor Sage stable image updates #526
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
name: Monitor Sage stable image updates | |
on: | |
schedule: | |
- cron: '0 0 * * *' # Run once every day | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
SAGE_DOCKER_LATEST: "ghcr.io/sagemath/sage/sage-ubuntu-focal-standard-with-targets:latest" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
ref: master | |
- name: Get SageMath version | |
run: | | |
SAGE_VERSION=$(docker run --rm $SAGE_DOCKER_LATEST /sage/sage --version | grep -oP 'SageMath version \K[0-9.]+(?:beta\d+)?') | |
echo "SAGE_VERSION=${SAGE_VERSION}" >> $GITHUB_ENV | |
- name: Replace Docker image tag | |
run: | | |
SAGE_IMAGE_NAME="${SAGE_DOCKER_LATEST%:latest}" | |
NEW_IMAGE_NAME="${SAGE_IMAGE_NAME}:${SAGE_VERSION}" | |
echo "SAGE_DOCKER_UPDATED=${NEW_IMAGE_NAME}" >> $GITHUB_ENV | |
- name: Update Dockerfile | |
run: | | |
SAGE_DOCKER_UPDATED_ESCAPED=$(echo "${SAGE_DOCKER_UPDATED}" | sed 's/\//\\\//g') | |
sed -i "s/FROM \S*/FROM $SAGE_DOCKER_UPDATED_ESCAPED/g" Dockerfile | |
sed -i "s/FROM \S*/FROM $SAGE_DOCKER_UPDATED_ESCAPED/g" README.rst | |
- name: Commit changes | |
run: | | |
git config --global user.email alice@wonderland | |
git config --global user.name Alice | |
git commit -a --amend -m "Update Dockerfile for Sage ${SAGE_VERSION}" | |
git push -f origin master | |
- name: Have Binder build | |
timeout-minutes: 10 | |
continue-on-error: true | |
run: | | |
curl -L https://mybinder.org/build/gh/sagemath/sage-binder-env/master |