Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

build(deps): bump nbgitpuller from 1.0.2 to 1.2.0 in /images/singleuser-sample #36

build(deps): bump nbgitpuller from 1.0.2 to 1.2.0 in /images/singleuser-sample

build(deps): bump nbgitpuller from 1.0.2 to 1.2.0 in /images/singleuser-sample #36

Workflow file for this run

# This is a GitHub workflow defining a set of jobs with a set of steps.
# ref: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
#
name: Publish
# Trigger the workflow on pushed tags or commits to main branch.
on:
pull_request:
paths-ignore:
- "docs/**"
- "**.md"
- ".github/workflows/*"
- "!.github/workflows/publish.yaml"
push:
paths-ignore:
- "docs/**"
- "**.md"
- ".github/workflows/*"
- "!.github/workflows/publish.yaml"
branches-ignore:
- "dependabot/**"
- "pre-commit-ci-update-config"
tags:
- "**"
jobs:
# Builds and pushes docker images to DockerHub and package the Helm chart and
# pushes it to jupyterhub/helm-chart@gh-pages where index.yaml represents the
# JupyterHub organization Helm chart repository.
#
# ref: https://github.com/jupyterhub/helm-chart
# ref: https://hub.docker.com/orgs/jupyterhub
publish:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
# chartpress requires git history to set chart version and image tags
# correctly
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: store whether we are publishing the chart
id: publishing
shell: python
env:
REPO: ${{ github.repository }}
EVENT: ${{ github.event_name }}
REF: ${{ github.event.ref }}
run: |
import os
repo = os.environ["REPO"]
event = os.environ["EVENT"]
ref = os.environ["REF"]
publishing = ""
if (
repo == "jupyterhub/zero-to-jupyterhub-k8s"
and event == "push"
and (
# any tag
ref.startswith("refs/tags/")
# or default branch
or ref == "refs/heads/main"
)
):
publishing = "true"
print("Publishing chart")
print(f"::set-output name=publishing::{publishing}")
- name: Set up QEMU (for docker buildx)
uses: docker/setup-qemu-action@27d0a4f181a40b142cce983c5393082c365d1480 # dependabot updates to latest release
- name: Set up Docker Buildx (for chartpress multi-arch builds)
uses: docker/setup-buildx-action@94ab11c41e45d028884a99163086648e898eed25 # dependabot updates to latest release
- name: Install chart publishing dependencies (chartpress, helm)
run: |
pip install chartpress pyyaml
pip list
helm version
- name: Setup push rights to jupyterhub/helm-chart
# This was setup by...
# 1. Generating a private/public key pair:
# ssh-keygen -t ed25519 -C "jupyterhub/zero-to-jupyterhub-k8s" -f /tmp/id_ed25519
# 2. Registering the private key (/tmp/id_ed25519) as a secret for this
# repo:
# https://github.com/jupyterhub/zero-to-jupyterhub-k8s/settings/secrets/actions
# 3. Registering the public key (/tmp/id_ed25519.pub) as a deploy key
# with push rights for the jupyterhub/helm chart repo:
# https://github.com/jupyterhub/helm-chart/settings/keys
if: steps.publishing.outputs.publishing
run: |
mkdir -p ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
echo "${{ secrets.JUPYTERHUB_HELM_CHART_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Setup push rights to Docker Hub
# This was setup by...
# 1. Creating a Docker Hub service account "jupyterhubbot"
# 2. Making the account part of the "bots" team, and granting that team
# permissions to push to the relevant images:
# https://hub.docker.com/orgs/jupyterhub/teams/bots/permissions
# 3. Registering the username and password as a secret for this repo:
# https://github.com/jupyterhub/zero-to-jupyterhub-k8s/settings/secrets/actions
if: steps.publishing.outputs.publishing
run: |
docker login -u "${{ secrets.DOCKER_USERNAME }}" -p "${{ secrets.DOCKER_PASSWORD }}"
- name: Configure a git user
# Having a user.email and user.name configured with git is required to
# make commits, which is something chartpress does when publishing.
# While Travis CI had a dummy user by default, GitHub Actions doesn't
# and require this explicitly setup.
run: |
git config --global user.email "github-actions@example.local"
git config --global user.name "GitHub Actions user"
- name: build chart with chartpress
run: |
# Create values.schema.yaml from schema.yaml.
./tools/generate-json-schema.py
# Append annotations to Chart.yaml with current images so that
# artifacthub.io can scan and provide vulnerability reports for them.
chartpress --no-build
./tools/set-chart-yaml-annotations.py
- name: Publish images and chart with chartpress
if: steps.publishing.outputs.publishing
env:
GITHUB_REPOSITORY: "${{ github.repository }}"
run: |
# Package the Helm chart and publish it to the gh-pages branch of
# the jupyterhub/helm-chart repo.
./ci/publish
- name: Package helm chart as a CI artifact
if: steps.publishing.outputs.publishing == ''
run: helm package jupyterhub
# ref: https://github.com/actions/upload-artifact
- uses: actions/upload-artifact@v2
if: steps.publishing.outputs.publishing == ''
with:
name: jupyterhub-${{ github.sha }}
path: "jupyterhub-*.tgz"
if-no-files-found: error