From dcc311ad3326064c58c73f28e8c77024350bf17a Mon Sep 17 00:00:00 2001 From: anton Date: Tue, 2 Apr 2024 23:20:10 +0200 Subject: [PATCH 1/6] Added GitHub Actions workflow to package and publish helm charts --- .../package_and_push_helm_chart.yaml | 61 +++++++++++++++++++ charts/jupyter/Chart.yaml | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/package_and_push_helm_chart.yaml diff --git a/.github/workflows/package_and_push_helm_chart.yaml b/.github/workflows/package_and_push_helm_chart.yaml new file mode 100644 index 0000000..5caad45 --- /dev/null +++ b/.github/workflows/package_and_push_helm_chart.yaml @@ -0,0 +1,61 @@ +name: Package and Push Helm Chart + +on: + push: + branches: + - dev + - release + workflow_dispatch: + inputs: + version: + description: "Version of the Helm chart to push" + required: false + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Prepare version + run: | + VERSION=$(cat ./VERSION) + BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} + echo "Building images from the branch: $BRANCH" + if [ $BRANCH != "release" ]; then + VERSION=$VERSION-SNAPSHOT + fi + # override version of custom input is provided + if [[ -n "${{ github.event.inputs.version }}" ]]; then + VERSION=${{ github.event.inputs.version }} + fi + echo "Helm charts version to be deployed: $VERSION" + echo "VERSION=$VERSION" >> $GITHUB_ENV + + - name: Setup Helm + uses: azure/setup-helm@v4.1.0 + with: + version: ${{ vars.HELM_VERSION }} + + - name: Login with Helm + run: | + echo ${{ secrets.GITHUB_TOKEN }} | helm registry login ${{ vars.HELM_REGISTRY }} --username ${{ github.repository_owner }} --password-stdin + + - name: Add/update Helm dependencies + run: | + helm repo add jupyterhub https://jupyterhub.github.io/helm-chart + helm dependency update "charts/jupyter" + + - name: Lint Helm chart + run: | + helm lint "charts/jupyter" + + - name: Package Helm chart + run: | + helm package "charts/jupyter" --version ${{ env.VERSION }} + + - name: Push Helm chart to repository + run: | + helm push "fairspace-jupyter-${{ env.VERSION }}.tgz" "oci://${{ vars.HELM_REGISTRY }}" diff --git a/charts/jupyter/Chart.yaml b/charts/jupyter/Chart.yaml index 5349077..a127eea 100644 --- a/charts/jupyter/Chart.yaml +++ b/charts/jupyter/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 appVersion: "1.0" description: Helm chart to install Jupyter along with a Fairspace workspace -name: jupyter +name: fairspace-jupyter version: 0.0.0-RELEASEVERSION dependencies: From d553a9caf546f2931ed1a7bf1fe2a1727dc88010 Mon Sep 17 00:00:00 2001 From: anton Date: Wed, 3 Apr 2024 23:15:54 +0200 Subject: [PATCH 2/6] Added job to build and push Docker image to repository --- ...build_and_upload_docker_image_on_push.yaml | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/build_and_upload_docker_image_on_push.yaml diff --git a/.github/workflows/build_and_upload_docker_image_on_push.yaml b/.github/workflows/build_and_upload_docker_image_on_push.yaml new file mode 100644 index 0000000..a71aafd --- /dev/null +++ b/.github/workflows/build_and_upload_docker_image_on_push.yaml @@ -0,0 +1,89 @@ +name: Build & Upload Fairspace-Jupyter Docker image + +on: + push: + branches: + - dev + - release + - devops/FAIRSPC-57_github_actions + +jobs: + build-and-upload-jupyterhub: + name: Build & Upload Fairspace-Jupyter (K8s Hub) Docker image + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Get version tag for artifact + run: | + BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} + echo "Building images from the branch: $BRANCH" + VER=$(cat ./projects/jupyterhub-hub/VERSION) + echo "Building images of version: $VER" + if [ $BRANCH != "release" ] + then + VER=$VER-SNAPSHOT + fi + echo "VERSION=$VER" >> $GITHUB_ENV + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ vars.DOCKER_REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-hub + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: ./projects/jupyterhub-hub/ + push: true + tags: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-hub:${{ env.VERSION }} + labels: ${{ steps.meta.outputs.labels }} + + build-and-upload-jupyterhub-singleuser: + name: Build & Upload Fairspace-Jupyter (Single User) Docker image + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Get version tag for artifact + run: | + BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} + echo "Building images from the branch: $BRANCH" + VER=$(cat ./projects/jupyterhub-singleuser/VERSION) + echo "Building images of version: $VER" + if [ $BRANCH != "release" ] + then + VER=$VER-SNAPSHOT + fi + echo "VERSION=$VER" >> $GITHUB_ENV + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ vars.DOCKER_REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-singleuser + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: ./projects/jupyterhub-singleuser/ + push: true + tags: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-singleuser:${{ env.VERSION }} + labels: ${{ steps.meta.outputs.labels }} From 5ec26ebbc847164c438c915d05000d1ca2545b82 Mon Sep 17 00:00:00 2001 From: anton Date: Wed, 3 Apr 2024 23:49:30 +0200 Subject: [PATCH 3/6] Removed travis scripts --- ...build_and_upload_docker_image_on_push.yaml | 1 - .travis.yml | 92 ------------------ .travis/build-condition.sh | 38 -------- .travis/build.sh | 52 ---------- .travis/ci-service-account.json.enc | Bin 2320 -> 0 bytes charts/.travis/build.sh | 8 -- charts/.travis/install.sh | 16 --- projects/jupyterhub-hub/.travis/build.sh | 3 - projects/jupyterhub-hub/.travis/env.sh | 2 - projects/jupyterhub-hub/.travis/release.sh | 3 - .../jupyterhub-singleuser/.travis/build.sh | 3 - projects/jupyterhub-singleuser/.travis/env.sh | 2 - .../jupyterhub-singleuser/.travis/release.sh | 3 - 13 files changed, 223 deletions(-) delete mode 100644 .travis.yml delete mode 100755 .travis/build-condition.sh delete mode 100755 .travis/build.sh delete mode 100644 .travis/ci-service-account.json.enc delete mode 100755 charts/.travis/build.sh delete mode 100755 charts/.travis/install.sh delete mode 100755 projects/jupyterhub-hub/.travis/build.sh delete mode 100755 projects/jupyterhub-hub/.travis/env.sh delete mode 100755 projects/jupyterhub-hub/.travis/release.sh delete mode 100755 projects/jupyterhub-singleuser/.travis/build.sh delete mode 100755 projects/jupyterhub-singleuser/.travis/env.sh delete mode 100755 projects/jupyterhub-singleuser/.travis/release.sh diff --git a/.github/workflows/build_and_upload_docker_image_on_push.yaml b/.github/workflows/build_and_upload_docker_image_on_push.yaml index a71aafd..480265b 100644 --- a/.github/workflows/build_and_upload_docker_image_on_push.yaml +++ b/.github/workflows/build_and_upload_docker_image_on_push.yaml @@ -5,7 +5,6 @@ on: branches: - dev - release - - devops/FAIRSPC-57_github_actions jobs: build-and-upload-jupyterhub: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8775251..0000000 --- a/.travis.yml +++ /dev/null @@ -1,92 +0,0 @@ -dist: jammy - -language: java - -env: - global: - - APPNAME="jupyter" - - ORG="fairspace" - - ARTIFACT_BUILD_FILE="" - - BUILD_SCRIPTS_REPO="thehyve/fairspace-build-scripts" - - DEPLOYMENT_CONFIG_REPO="thehyve/fairspace-config-private" - - ACCOUNT_CONFIG_DIR="./.travis" - - RELEASE_BRANCH="master" - - SNAPSHOT_BRANCH="dev" - - DOCKER_USERNAME="fairspace" - - GITHUB_USERNAME="fairspace-ci" - - NEXUS_USERNAME="travis-fairspace" - - GIT_TAG_FILES_OVERRIDE="charts/jupyter/Chart.yaml charts/jupyter/values.yaml projects/" - - SHOULD_DEPLOY=false - # DEPLOYMENT RELATED VARIABLES - REQUIRED IF SHOULD_DEPLOY=true - # - GCP_PROJECT="fairspace-207108" - # - SNAPSHOT_CONTEXT="gke_fairspace-207108_europe-west1-b_fairspacecicluster" - # - SNAPSHOT_CLUSTER_NAME="fairspacecicluster" - # - SNAPSHOT_CLUSTER_ZONE="europe-west1-b" - # - RELEASE_CONTEXT="gke_fairspace-207108_europe-west1-b_fairspacecicluster" - # - RELEASE_CLUSTER_NAME="fairspacecicluster" - # - RELEASE_CLUSTER_ZONE="europe-west1-b" - - # DOCKER_PASSWORD= - - secure: "rINH6k9VSyv0N2vmle6xtT9gB3eSilSVsAmHRln4qkLTWHjLW7jjouehqFiRrdrnzFP+NIaAUdvP6ox3MhtZEFpW/pog0fZSMijpidlsHr9uCbsxhrGXjcZuzwtazaqQ/7+9RP+ofb7j6tPqt5HLCwn0pviom4qc9GztTahJwg9uNa6naiCWqIAkn7w5yqcPQZp6sgjcMYF+pKL6OQHywGp07qatozgqYkZGjtBD7QOKfNDNycVewtMQwI+CIno1/STk9kS0lECfIabETVYwt9Hzjk6811NFAwdKWVrgG+1MOU59uJC/CVbEpEfY/m1vWneWJ68L+DyYlcvzY2/pVC2A+T0L0YzhdiFCQC2xr81ODq7AQ0Y4KdYYrnewP8vJhD2zoJmfucdLpX0f93Q9k1oTd9I3sVbNK+J28N8PE6rc72t1uUA6Tzvht+OyJo5W+h4vm8zs0aWIFVLR6r0ShmindyBI0CFi6VbrvxMTNmzH1PM23oLCs3V66CTiHBBlmxEYud99zLt97/WW74DSju17wosPR9O1G2FlVPlRdhF1S7ELCN1WlFgwll7Ssy5Nk/jWqNK004+Ked3g676a38plphuOQLRKSFD7L1rh4tXli09/xjq8AXBjzyWVEUPHVFnKmDZMcQlixBVuO1FhpS6uFDLOzF6N2bfJkR8lwqI=" - - # GITHUB_PASSWORD=.... - - secure: "f0vVPY7oVWXLq+TpLHDwdiTZDPvwbf2dwyabkf/dtp1qAAIqp0fYheGiNVD/sUvfyWepft763BEEJ7xbiV8VaUU8ee4xZTITo4T6xIzYcs4qkBhKIOXG3FAkQP9FrskbkYxsKWR8xLnnQkIcTOaWagPh/yiuZOGErNezKgHIh0/t3WLgZOTmQc7YT0V8FCXzO5TSQTeyR6DPi/7/kni0Q/I+GE68VTccVYGkeCpadOcam3CR7ycEHhKZbXtgvAubq64WQ+Y13hQwP5MXEf5ePNAT3P38DyVk1ObtveGbbZPUoDxeRR4jWP9bPJJAJtO6o5JFLnbdXuqjVfrgX9vAMirIoeoA0ti677faMCSQXr4ioFe/ZPdR84eL/8VN0Ciu+QRG/U2ursGkaW7FfP8XpFEdHFkSw+BDLtJaGwtqP925TrYw05HBjXEwV2w0chysaufBN5ppPLIUuEkSse2pmXN0aEfg10t1IrqXOG0fqiIb5tnbq0hii1lpuNc7VSw0UrLGqMJQjuwflAcHCQvCrlBjnMbErPs0CXWLmK5MY1wUvchEHuWy1rLDvVzjCcXpW2dTHMvY8xe1VX9Pyim/qzQMR4UHUv6A3SlqZmOlqXHJP6NWT7B73QhLitsWeRVd3I/wCfN+DnAdDC/rB/DuPP/vfDb1z/SGFi7XyoSLrGA=" - -cache: - directories: - - $HOME/downloads - - $HOME/.cache - -before_install: - - export KUBE_CONFIG_ENC_KEY=$encrypted_f973873e750b_key - - export KUBE_CONFIG_ENC_IV=$encrypted_f973873e750b_iv - - git clone https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/$BUILD_SCRIPTS_REPO ci - - export BUILD_SCRIPTS_DIR=$(pwd)/ci - - 'if [[ "$SHOULD_DEPLOY" = "true" ]]; then git clone https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/$DEPLOYMENT_CONFIG_REPO ci-config ; fi' - - 'if [[ "$SHOULD_DEPLOY" = "true" ]]; then export DEPLOYMENT_CONFIG_DIR="$(pwd)/ci-config/fairspace-jupyter" ; fi' - - 'if [[ "$SHOULD_DEPLOY" = "true" ]] && [[ "$TRAVIS_BRANCH" = "$SNAPSHOT_BRANCH" ]]; then export ALLOW_SNAPSHOTS=1 DEPLOY_TARGET=ci DEPLOY_PLATFORM="GCP" KUBERNETES_CONTEXT="$SNAPSHOT_CONTEXT" CLUSTER_NAME="$SNAPSHOT_CLUSTER_NAME" CLUSTER_ZONE="$SNAPSHOT_CLUSTER_ZONE" ; fi' - - 'if [[ "$SHOULD_DEPLOY" = "true" ]] &&[[ "$TRAVIS_BRANCH" = "$RELEASE_BRANCH" ]]; then export DEPLOY_TARGET=ci DEPLOY_PLATFORM="GCP" KUBERNETES_CONTEXT="$RELEASE_CONTEXT" CLUSTER_NAME="$RELEASE_CLUSTER_NAME" CLUSTER_ZONE="$RELEASE_CLUSTER_ZONE" ; fi' - - export INFRASTRUCTURE_PLATFORM="${DEPLOY_PLATFORM:-NONE}" - - source ./ci/setup_env.sh - - 'if [[ "$SHOULD_RELEASE" ]] ; then export NEED_INTERNAL_HELM=1 ; fi' - -jobs: - include: - - stage: build - name: Build projects - install: - - ci/gcp/install.sh - - ci/gcp/login.sh - script: - - .travis/build.sh projects/jupyterhub-hub - - travis_wait 60 .travis/build.sh projects/jupyterhub-singleuser - - stage: build - cache: false - name: Build helm charts - install: - - source charts/.travis/install.sh - script: - - charts/.travis/build.sh - - if: branch = env(RELEASE_BRANCH) AND type != "pull_request" - cache: false - stage: Versioning - name: Set tag and update version - script: - - "ci/versioning/add_tag_to_git.sh" - - "ci/versioning/set_next_version.sh" - - stage: deploy - cache: false - if: env(SHOULD_DEPLOY) = true AND branch IN (env(RELEASE_BRANCH), env(SNAPSHOT_BRANCH)) AND type != pull_request - install: - - source charts/.travis/install.sh - script: - - travis_wait ci/helm/deploy.sh $DEPLOY_TARGET - -notifications: - slack: - rooms: - - secure: "eeFtXTWqUURPcxfyV1FB1Qkud41rx441uka1zCEfStHNCVItoGqEvlS22lyQhk4cl7vEdnl378i+UlXFgWWzuaYIEGL9JTa7+WErfigCjYSkLIujC2bciG02TOhHYe2Pq7PhkyA8gcs3uq89ytuRUTOiy/CIvyS2GbEQrsfxNJU1C5rY5XmOeMIhTRUUF44c4ohGh4QgAHvzynk033hOMuPyQrQUpd4uKhzy3saPtYAa+uPsvqojAryvwAnfojeY8qdtAesVKkF+XBA1i0FLIRt6W4XAp3N4KodwZ9uTUelC8RGgKrB3bdad4Gbe+5n+knd6Zhci1SbhV2l94u1g00obGlETh4QAv6x++zrCqS922pkPMWFY4A7NGInyynT3Hi484UBU1Z6h+2vjjJYj28OF7M79pIoR+zzIysco5xwXaH51U1ZJKfBzzJFKSKR104rwIM0X43l6v+/RLPOPL6MNJQ1TVFSdSonyJ7IWoF63n7PrxYgA4aaySrbTr9bZpM5XXikybwZGPAejeuHTmS0Vb+ge56v4SlF3zJ/9t7Kznp54rtrdnOV8g2Sf/pMmuAAeLlxN8YtymLdS6bk8QhTqBhJkP7eOkDTO13n9DVDYcMUTAn9EJ4tIyXUJRqXPgqvG4TmVLwb/BNOFey5Y4+W0DaY4nsC/JJiHttDzibs=" - template: - - "Build <%{build_url}|#%{build_number}> (<%{compare_url}|%{commit}>) of %{repository_slug}@%{branch}" - - "Latest commit: %{commit_message} - by %{author}" - - "Result: %{result} in %{duration}" diff --git a/.travis/build-condition.sh b/.travis/build-condition.sh deleted file mode 100755 index c707c82..0000000 --- a/.travis/build-condition.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# -# This script will check whether a certain directory contains changes -# and thus should be built. -# -# This check can be overridden by adding [full build] to the commit message -# -# Usage: build-condition.sh -# - -if [[ -z $1 ]]; then - echo "Commit range cannot be empty" - echo "Usage: build-condition.sh " - exit 1 -fi - -if [[ -z $2 ]]; then - echo "Change path cannot be empty" - echo "Usage: build-condition.sh " - exit 1 -fi - -# If the commit message contains '[full build]' then all -# directories should be built -if [[ $TRAVIS_COMMIT_MESSAGE == *"[full build]"* ]]; then - exit 0 -fi - -# When doing a real release (on the release branch) we have to -# build all artifacts, as there have never been other builds for this -# particular version -if [[ "$TRAVIS_BRANCH" = "$RELEASE_BRANCH" ]]; then - exit 0 -fi - -# Check whether the given project directory has changes. If so, the script (grep) will -# return 0. If not, grep will return a non-zero exit code -git diff --name-only $1 | sort -u | uniq | grep ^$2 > /dev/null diff --git a/.travis/build.sh b/.travis/build.sh deleted file mode 100755 index 923b2bd..0000000 --- a/.travis/build.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -DIR=$(dirname $0) -PROJECT=$1 - -# Set variables for use in build scripts -export APPNAME=$(basename $PROJECT) -export CONTAINER_NAME="${DOCKER_REPO}/${ORG}/${APPNAME}:${VERSION}" - -# If we are building a PR, use the target branch as 'commit range'. -# As it is used with `git diff ...`, it will trigger all files that -# have updated in the complete pull request. We also need to do this -# in branches that have just one commit. -if [[ "$TRAVIS_PULL_REQUEST" != "false" ]] || [[ -z "$TRAVIS_COMMIT_RANGE" ]] ; then - COMMIT_TRIGGER=$TRAVIS_BRANCH -else - COMMIT_TRIGGER=$TRAVIS_COMMIT_RANGE -fi - -# Only execute build if something has changed within the project -if $DIR/build-condition.sh $COMMIT_TRIGGER $PROJECT; then - echo "Building $APPNAME..."; - cd $PROJECT - - echo -e "travis_fold:start:Building-$APPNAME" - source .travis/env.sh - .travis/build.sh - rc=$? - echo -e "travis_fold:end:Building-$APPNAME" - - # If the build failed, do not bother releasing - if [[ $rc != 0 ]]; then - exit $rc - fi - - if [[ $SHOULD_RELEASE ]]; then - echo "Releasing artifact for $APPNAME" - echo -e "travis_fold:start:Releasing-$APPNAME" - .travis/release.sh - rc=$? - echo -e "travis_fold:end:Releasing-$APPNAME" - - # If the release failed, return a non-zero exit status - if [[ $rc != 0 ]]; then - exit $rc - fi - - fi - - cd ../.. -else - echo "No changes for $APPNAME"; -fi diff --git a/.travis/ci-service-account.json.enc b/.travis/ci-service-account.json.enc deleted file mode 100644 index ca116f1386b090c36fb26cf1539cc755c76549df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2320 zcmV+r3Gen>!<`8eg1wm&PU%Wh-lACLJ{l|oqKBivekVV>1XlO1QoU7$I1J?oM$FuP z(CFF@aD4Uq`%{whWmykTr<+Z8mb!@xcy73k%!=+`kkhj|{)#Q@G$$?h1yp#TdOh#p zn6zLngvfE8_d<4g)J9TSX55k;s2+iyecG}`napacu=IOYQ5och zm$PI2R3sno=U&PZ8;Z*~T|y4@W|)J6__({jSHlfK5`9 zD&K?;61M!BBY3~DPeVl1`0f5XkDM z)oL}JbhTjOGH<((P3Z1RtK>L*Ik0>4{$;q~X_OX$K5wwuDrdn;mxtgWW>(F0{D4y7 zb#vn6%O>d`w})#(6p+1SZ}W(>8z!q7WGnmlV}=E<%AmN?#KJX*8*(TVVb9L$BJjG} zllc59JuaOF`#zU3sK|;bL?Db}j8eZ#lK@BY<%tSfjDqSB8WWLnls>XI(GL%iEWiJh0i?q%ydJqP za(llCU&HXFx@hx??YKdo&dD`b<@S`rnlRwu$GGtA8>%f((2d}jVh7U1;{*^Jvuc}` z3c>M3A;2mjpB(YlGpORDeIXD^%ZAGNX3ju&=3;NsJIJ_SBln$KA~&?Fee+7U_G?|A zl6}w*M*dSbu=C*pG+=&MGKK|Ay~*jMLt@cMp5ay)q96oJN0j?sA>C;_p6AT_)(`xI zPxfZKm{&7p(ST3B8B!at;wiE-J?_S;b&{*N*KG*I+E^30BDK=9sajvjP^a;DI#Pak ze0ypUDv`dZ7Ak-iV&XxD0TD?>8n{8l`~%`6}iW!(u;Ra$-Ge zB6|}-tGu2`n}(>ln1MxFQk|c9Yne-2=D!xC4dLU` znEoldm>{MAaaAiz&T~Q4&&23TwNWi809Dzr@Pmho_}L96bI(*25e8_V17(V2QE-tt zT*8iEqnj)JcVA|G4owEy$2aeJM4ZRzms~ucE}Q*bHexcFHzh6~gI_S&sG(jBoJAji zg!!F|3c7qUWNN&_liMk4590L50(EuyHmI!Pt zceYkWFBKrkpN&xay!#5(|~BMb(t;&XSK0&5H&7Na%VIEAPD6tI}ck z{;XDP zL=XrXI+q0GdU3ZP%SuweLRNrtMb5|LR{=Ooy?B>fx)OrL!0z{PZRVn(d<;`1>e*NE zQ5|>oBz4NW)6s5XNz5c@DkVxL;vFsx#7yOWyZOQSV5qf&_%LzhP`3*vP;|k|r|P%r z;TJKLy*#ss8CYT>IjMDs#kQE5oC52mHh=E5YK!I1GRi{JB936%id@=Y$#YcA4h|ku zvCZmGq{Mqp2vjD!mp&KYR#mN_Veh!bxPQLp(Koy`iTK(tP_|z8Q2f%|ZgUr}x1B0o zFEc&oD5AkWJyr%TeK7*J+9xw&`ml}vJ+p^4&lv> ziAqHmuJJ`&edzuE%^P2?nle7^IlB9}5skPm01uY45uWCzWgudvVu1?e`6z=%5#(LFes&a>dGi5 zY;PfQp~M2?e{SCK%NAws4LF$C=2!hFM#FK|=ZczF&XgM7>BN7f@;r}92z5e)69_Lpk)8nhC9n`JORb+%j;ug{A}=^Z zxF!(n*x3!-awN&Ta=%% z&{ApjX$wbSo>0gzw@I}uLkMh&_nLuGW`e|39(+!by-6OF);yf3AwP_lajNVR!6-4X zEVCqH!>jh}fpy8Th3^zFik^+jl}zJDg$IQiyUxpwk{upb@OktI`9(rnm#Nf>C+({l q+Gmlm=7b-$y%6|H^;P!}NV)ACz9ucC`$%dpAKr14j87QQk3ey_O^4I~ diff --git a/charts/.travis/build.sh b/charts/.travis/build.sh deleted file mode 100755 index a6cc8f8..0000000 --- a/charts/.travis/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -$BUILD_SCRIPTS_DIR/helm/tag.sh -source $BUILD_SCRIPTS_DIR/helm/add_repos.sh -$BUILD_SCRIPTS_DIR/helm/build.sh - -if [[ $SHOULD_RELEASE ]]; then - $BUILD_SCRIPTS_DIR/helm/release.sh -fi diff --git a/charts/.travis/install.sh b/charts/.travis/install.sh deleted file mode 100755 index c07d7dd..0000000 --- a/charts/.travis/install.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# shellcheck disable=SC1090 -source "$BUILD_SCRIPTS_DIR/helm/install_helm.sh" - -if [[ $SHOULD_RELEASE ]]; then - "$BUILD_SCRIPTS_DIR/login-provider.sh" - - echo "Adding helm repositories ..." - source "$BUILD_SCRIPTS_DIR/helm/add_repos.sh" - - if [[ $SHOULD_DEPLOY = "true" ]]; then - source "$BUILD_SCRIPTS_DIR/k8s/ics_kubectl.sh" - fi - -fi diff --git a/projects/jupyterhub-hub/.travis/build.sh b/projects/jupyterhub-hub/.travis/build.sh deleted file mode 100755 index e6f0a62..0000000 --- a/projects/jupyterhub-hub/.travis/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$BUILD_SCRIPTS_DIR/docker/build.sh diff --git a/projects/jupyterhub-hub/.travis/env.sh b/projects/jupyterhub-hub/.travis/env.sh deleted file mode 100755 index 05a7907..0000000 --- a/projects/jupyterhub-hub/.travis/env.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash - diff --git a/projects/jupyterhub-hub/.travis/release.sh b/projects/jupyterhub-hub/.travis/release.sh deleted file mode 100755 index f88d7cd..0000000 --- a/projects/jupyterhub-hub/.travis/release.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$BUILD_SCRIPTS_DIR/docker/release.sh diff --git a/projects/jupyterhub-singleuser/.travis/build.sh b/projects/jupyterhub-singleuser/.travis/build.sh deleted file mode 100755 index e6f0a62..0000000 --- a/projects/jupyterhub-singleuser/.travis/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$BUILD_SCRIPTS_DIR/docker/build.sh diff --git a/projects/jupyterhub-singleuser/.travis/env.sh b/projects/jupyterhub-singleuser/.travis/env.sh deleted file mode 100755 index 05a7907..0000000 --- a/projects/jupyterhub-singleuser/.travis/env.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash - diff --git a/projects/jupyterhub-singleuser/.travis/release.sh b/projects/jupyterhub-singleuser/.travis/release.sh deleted file mode 100755 index f88d7cd..0000000 --- a/projects/jupyterhub-singleuser/.travis/release.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$BUILD_SCRIPTS_DIR/docker/release.sh From 16f02fad3acc1071fc82202911963a367e9b1e95 Mon Sep 17 00:00:00 2001 From: anton Date: Wed, 3 Apr 2024 23:57:33 +0200 Subject: [PATCH 4/6] Updated README.md --- charts/jupyter/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/jupyter/README.md b/charts/jupyter/README.md index 723ec82..ee5f880 100644 --- a/charts/jupyter/README.md +++ b/charts/jupyter/README.md @@ -7,8 +7,8 @@ The connection to the workspace should be configured in the `values.yaml` file. Install [the Google Cloud SDK](https://cloud.google.com/sdk/install), ensure that your Google account has access to the fairspace-207108 GCP project, -log in using `gcloud auth login`, and configure Docker for access to the GCP -registries using `gcloud auth configure-docker`. +log in using `gcloud auth login`. Make sure you have access to the [docker registry](ghcr.io/thehyve/fairspace-jupyter) +and [Helm Chart repository](ghcr.io/thehyve/fairspace-jupyter/helm-charts). A working instance of a fairspace workspace should be setup. Relevant parameters must be used for configuration of JupyterHub. From 791b7dc15602799ee72f15fe9b95c4a1001126ae Mon Sep 17 00:00:00 2001 From: anton Date: Fri, 5 Apr 2024 22:35:49 +0200 Subject: [PATCH 5/6] removed out-of-sync version project files --- .github/workflows/build_and_upload_docker_image_on_push.yaml | 4 ++-- projects/jupyterhub-hub/VERSION | 1 - projects/jupyterhub-singleuser/VERSION | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 projects/jupyterhub-hub/VERSION delete mode 100644 projects/jupyterhub-singleuser/VERSION diff --git a/.github/workflows/build_and_upload_docker_image_on_push.yaml b/.github/workflows/build_and_upload_docker_image_on_push.yaml index 480265b..186c628 100644 --- a/.github/workflows/build_and_upload_docker_image_on_push.yaml +++ b/.github/workflows/build_and_upload_docker_image_on_push.yaml @@ -18,7 +18,7 @@ jobs: run: | BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} echo "Building images from the branch: $BRANCH" - VER=$(cat ./projects/jupyterhub-hub/VERSION) + VER=$(cat ./VERSION) echo "Building images of version: $VER" if [ $BRANCH != "release" ] then @@ -58,7 +58,7 @@ jobs: run: | BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} echo "Building images from the branch: $BRANCH" - VER=$(cat ./projects/jupyterhub-singleuser/VERSION) + VER=$(cat ./VERSION) echo "Building images of version: $VER" if [ $BRANCH != "release" ] then diff --git a/projects/jupyterhub-hub/VERSION b/projects/jupyterhub-hub/VERSION deleted file mode 100644 index 1c09c74..0000000 --- a/projects/jupyterhub-hub/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.3.3 diff --git a/projects/jupyterhub-singleuser/VERSION b/projects/jupyterhub-singleuser/VERSION deleted file mode 100644 index d15723f..0000000 --- a/projects/jupyterhub-singleuser/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.3.2 From 5aeac88f8fb2c202309d3a6bef71c96b4464fedb Mon Sep 17 00:00:00 2001 From: anton Date: Fri, 5 Apr 2024 23:25:23 +0200 Subject: [PATCH 6/6] helm charts and docker images are built on any push, but pushed to repo/registry for dev and release branches only --- .../workflows/build_and_upload_docker_image_on_push.yaml | 7 ++----- .github/workflows/package_and_push_helm_chart.yaml | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_and_upload_docker_image_on_push.yaml b/.github/workflows/build_and_upload_docker_image_on_push.yaml index 186c628..a0f9db6 100644 --- a/.github/workflows/build_and_upload_docker_image_on_push.yaml +++ b/.github/workflows/build_and_upload_docker_image_on_push.yaml @@ -2,9 +2,6 @@ name: Build & Upload Fairspace-Jupyter Docker image on: push: - branches: - - dev - - release jobs: build-and-upload-jupyterhub: @@ -43,7 +40,7 @@ jobs: uses: docker/build-push-action@v5 with: context: ./projects/jupyterhub-hub/ - push: true + push: ${{github.ref == 'refs/heads/release' || github.ref == 'refs/heads/dev'}} tags: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-hub:${{ env.VERSION }} labels: ${{ steps.meta.outputs.labels }} @@ -83,6 +80,6 @@ jobs: uses: docker/build-push-action@v5 with: context: ./projects/jupyterhub-singleuser/ - push: true + push: ${{github.ref == 'refs/heads/release' || github.ref == 'refs/heads/dev'}} tags: ${{ vars.DOCKER_REGISTRY }}/${{ github.repository }}/jupyterhub-singleuser:${{ env.VERSION }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/package_and_push_helm_chart.yaml b/.github/workflows/package_and_push_helm_chart.yaml index 5caad45..c955c48 100644 --- a/.github/workflows/package_and_push_helm_chart.yaml +++ b/.github/workflows/package_and_push_helm_chart.yaml @@ -2,9 +2,6 @@ name: Package and Push Helm Chart on: push: - branches: - - dev - - release workflow_dispatch: inputs: version: @@ -57,5 +54,6 @@ jobs: helm package "charts/jupyter" --version ${{ env.VERSION }} - name: Push Helm chart to repository + if: github.ref == 'refs/heads/release' || github.ref == 'refs/heads/dev' run: | helm push "fairspace-jupyter-${{ env.VERSION }}.tgz" "oci://${{ vars.HELM_REGISTRY }}"