Skip to content

Publish Snapshot Chart #441

Publish Snapshot Chart

Publish Snapshot Chart #441

name: Publish Snapshot Chart
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
branch:
description: 'list of branches to publish (JSON)'
required: true
# keep in sync with default value of strategy matrix 'branch'
default: '["main"]'
jobs:
publish-snapshot-chart:
if: ${{ startsWith(github.repository, 'apache/') }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# keep in sync with default value of workflow_dispatch input 'branch'
branch: ${{ fromJSON( inputs.branch || '["main"]' ) }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
ref: ${{ matrix.branch }}
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: 25
distribution: 'zulu'
cache: 'gradle'
- name: Build Operator
run: |
./gradlew build -x check --no-daemon
- name: Build Chart
env:
DIR: 'charts'
run: |
if [[ ${{ matrix.branch }} != 'main' ]]; then
export DIR=charts-${{ matrix.branch }}
fi
cd build-tools/helm
sed -i 's/tag: .*$/tag: ${{ matrix.branch }}-snapshot/' spark-kubernetes-operator/values.yaml
mkdir -p tmp/$DIR
helm package spark-kubernetes-operator -d tmp/$DIR --app-version ${{ matrix.branch }}-snapshot
helm repo index tmp/$DIR --url https://nightlies.apache.org/spark/$DIR
helm show chart tmp/$DIR/spark-kubernetes-operator-*.tgz
- name: Upload
uses: burnett01/rsync-deployments@0dc935cdecc5f5e571865e60d2a6cdc673704823
with:
switches: -avzr
path: build-tools/helm/tmp/*
remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/spark
remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }}
remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }}