Skip to content

Initializr Helm Charts #180

Initializr Helm Charts

Initializr Helm Charts #180

name: Initializr Helm Charts
env:
TERM: xterm-256color
JDK_CURRENT: 21
JDK_DISTRO: 'corretto'
CAS_PROJECT_DB_URL_ENDPOINT: ${{ secrets.CAS_PROJECT_DB_URL_ENDPOINT }}
CAS_PROJECT_DB_API_KEY: ${{ secrets.CAS_PROJECT_DB_API_KEY }}
##########################################################################
on:
workflow_dispatch:
push:
branches: [ pr-* ]
schedule:
- cron: "0 0 * * 5"
concurrency:
group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}"
cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'apereo/cas-initializr' }}
##########################################################################
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ env.JDK_CURRENT }}
distribution: ${{ env.JDK_DISTRO }}
- name: Build Initializr
run: ./gradlew --build-cache --configure-on-demand --no-daemon clean build -x test -x javadoc -x check --parallel
- uses: actions/upload-artifact@v4
with:
name: binary-artifacts
path: ./**/build/libs/*.*
##########################################################################
latest-versions-cas:
runs-on: ubuntu-latest
needs: [ build ]
outputs:
supported-versions: ${{ steps.get-supported-versions.outputs.supported-versions }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ env.JDK_CURRENT }}
distribution: ${{ env.JDK_DISTRO }}
- uses: actions/download-artifact@v4
with:
name: binary-artifacts
- id: print-supported-versions
name: Print supported versions
run: ./gradlew --no-daemon -q latestCasVersions | jq
- id: get-supported-versions
name: Get supported versions for matrix
run: echo "supported-versions=$(./gradlew --no-daemon -q latestCasVersions)" >> $GITHUB_OUTPUT
##########################################################################
helm:
runs-on: ubuntu-latest
needs: [ latest-versions-cas ]
strategy:
fail-fast: false
matrix:
k3s-channel: [ stable, latest ]
env:
GOPATH: /home/runner/go
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ env.JDK_CURRENT }}
distribution: ${{ env.JDK_DISTRO }}
- uses: actions/download-artifact@v4
with:
name: binary-artifacts
- name: Install K3S and Helm
uses: jupyterhub/action-k3s-helm@v4
with:
# - k3s release channels at https://github.com/k3s-io/k3s/blob/HEAD/channel.yaml
k3s-channel: ${{ matrix.k3s-channel }}
traefik-enabled: false
- name: Build Images for Helm Chart
env:
HELM_CAS_VERSION: "${{ fromJSON(needs.latest-versions-cas.outputs.supported-versions).cas-version }}"
HELM_CAS_MGMT_VERSION: "${{ fromJSON(needs.latest-versions-cas.outputs.supported-versions).cas-mgmt-version }}"
run: ./ci/validate-helm-build-images.sh $HELM_CAS_VERSION $HELM_CAS_MGMT_VERSION
- name: Validate Helm Chart
run: ./ci/validate-helm.sh