Updated SageMath version to 10.2.beta7 #8
Workflow file for this run
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: Build Docker images and push to DockerHub | |
on: | |
workflow_dispatch: | |
# Allow to run manually | |
branches: | |
- 'develop' | |
- 'docker_hub_gha' | |
push: | |
tags: | |
# Just create image on pushing a tag | |
- '*' | |
jobs: | |
sagemath-dev: | |
name: Build Docker image on target make-build and push to DockerHub sagemath-dev | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set tag | |
# docker/metadata-action@v4 is not used since we need to distinguish | |
# between latest and develop tags | |
id: set_tag | |
run: | | |
git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
TAG_NAME=$(git tag --sort=v:refname | tail -1) | |
TAG="sagemath/sagemath-dev:$TAG_NAME" | |
TAG_LIST="$TAG, sagemath/sagemath-dev:develop" | |
TAG_LIST="$TAG" # don't tag develop until meaning of sagemath-dev is clear | |
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV | |
echo "TAG=$TAG" >> $GITHUB_ENV | |
echo "TAG_LIST=$TAG_LIST" >> $GITHUB_ENV | |
- name: Update Tag List | |
id: upd_tag_list | |
run: | | |
TAG_LIST="${{ env.TAG_LIST }}, sagemath/sagemath-dev:latest" | |
TAG_LIST="${{ env.TAG_LIST }}" # don't tag latest until meaning of sagemath-dev is clear | |
echo "TAG_LIST=$TAG_LIST" >> $GITHUB_ENV | |
if: "!contains(env.TAG_NAME, 'beta') && !contains(env.TAG_NAME, 'rc')" | |
- name: Check env | |
run: | | |
echo ${{ env.TAG_NAME }} | |
echo ${{ env.TAG }} | |
echo ${{ env.TAG_LIST }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push make-build | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: docker/Dockerfile | |
target: make-build # see the corresponding header-note | |
push: true | |
tags: ${{ env.TAG_LIST }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
sagemath: | |
needs: sagemath-dev | |
name: Build Docker image on target sagemath and push to DockerHub sagemath | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set tag | |
# docker/metadata-action@v4 is not used since we need to distinguish | |
# between latest and develop tags | |
id: set_tag | |
run: | | |
git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
TAG_NAME=$(git tag --sort=v:refname | tail -1) | |
TAG="sagemath/sagemath:$TAG_NAME" | |
TAG_LIST="$TAG, sagemath/sagemath:develop" | |
BASE="sagemath/sagemath-dev:$TAG_NAME" | |
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV | |
echo "TAG=$TAG" >> $GITHUB_ENV | |
echo "TAG_LIST=$TAG_LIST" >> $GITHUB_ENV | |
echo "BASE=$BASE" >> $GITHUB_ENV | |
- name: Update Tag List | |
id: upd_tag_list | |
run: | | |
TAG_LIST="${{ env.TAG_LIST }}, sagemath/sagemath:latest" | |
echo "TAG_LIST=$TAG_LIST" >> $GITHUB_ENV | |
if: "!contains(env.TAG_NAME, 'beta') && !contains(env.TAG_NAME, 'rc')" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push sagemath | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: docker/Dockerfile | |
build-args: | | |
MAKE_BUILD=${{ env.BASE }} | |
target: sagemath | |
push: true | |
tags: ${{ env.TAG_LIST }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max |