Skip to content

Jupyter

Jupyter #249

Workflow file for this run

name: "Jupyter"
on:
push:
branches:
- main
paths:
- .github/workflows/jupyter.yaml
- jupyter/Dockerfile
- compare_tags.py
workflow_dispatch:
schedule:
- cron: '0 8 * * *'
env:
IMAGE: jupyter
jobs:
build:
name: Python
strategy:
matrix:
version: ["3.8", "3.9", "3.10", "3.11"]
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
- name: Check if we can build Dockerfile
uses: docker/build-push-action@v4
with:
file: jupyter/Dockerfile
load: true
build-args: python_version=${{ matrix.version }}
- id: auth
name: Authenticate with Google Cloud
uses: google-github-actions/auth@v1
with:
token_format: access_token
workload_identity_provider: projects/193123067890/locations/global/workloadIdentityPools/ci-knada-images/providers/ci-knada-images
service_account: [email protected]
- name: Install dependency for compare_tags.py script
run: pip install -r .github/scripts/requirements.txt
- name: Check if jupyter/base-image has updated
run: |
knada=$(gcloud artifacts docker images list europe-north1-docker.pkg.dev/knada-gcp/knada-north/jupyter --include-tags --filter TAGS:-${{ matrix.version }} --sort-by=~Update_Time --limit=1 --format=json)
python3 .github/scripts/compare_tags.py jupyterhub "$knada" "python-${{ matrix.version }}" || out=$?
if [ $out -eq 100 ]
then
echo "OUTDATED=true" >> $GITHUB_ENV
exit 0
fi
- uses: docker/login-action@v2
with:
registry: europe-north1-docker.pkg.dev
username: oauth2accesstoken
password: ${{ steps.auth.outputs.access_token }}
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- run: echo "TAG=$(git log -1 --pretty=%ad --date=format:%Y-%m-%d)-$(git log --pretty=format:'%h' -n 1)" >> $GITHUB_ENV
- uses: docker/build-push-action@v4
if: env.OUTDATED == 'true' || contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name)
with:
file: jupyter/Dockerfile
push: true
build-args: python_version=${{ matrix.version }}
tags: |
europe-north1-docker.pkg.dev/knada-gcp/knada-north/${{ env.IMAGE }}:${{ env.TAG }}-${{ matrix.version }}
ghcr.io/${{ github.repository }}/${{ env.IMAGE }}:${{ env.TAG }}-${{ matrix.version }}