49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
name: Lint and Test Charts
|
|
|
|
on:
|
|
push:
|
|
# Pattern matched against refs/tags
|
|
tags:
|
|
- '**' # Push events to every tag including hierarchical tags like v1.0/beta
|
|
jobs:
|
|
package-helm:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
name: Check out code
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@v4.2.0
|
|
with:
|
|
version: v3.14.4
|
|
|
|
- name: Get package name
|
|
id: chart_name
|
|
uses: mikefarah/yq@master
|
|
with:
|
|
cmd: yq .name Chart.yaml
|
|
|
|
- name: Get package version
|
|
id: chart_version
|
|
uses: mikefarah/yq@master
|
|
with:
|
|
cmd: yq .version Chart.yaml
|
|
|
|
- name: build helm package
|
|
shell: bash
|
|
env:
|
|
REPO_PASSWORD: ${{ secrets.REPO_PASSWORD }}
|
|
REPO_USERNAME: ${{ vars.REPO_USERNAME }}
|
|
REPO_HOST: ${{ vars.REPO_HOST }}
|
|
CHART_NAME: ${{ steps.chart_username.outputs.result }}
|
|
CHART_VERSION: ${{ steps.chart_version.outputs.result }}
|
|
run: |
|
|
REPO_PATH=$(git rev-parse --show-toplevel)
|
|
CHART_NAME=$(yq .version Chart.yaml)
|
|
CHART_VERSION=$(yq .version Chart.yaml)
|
|
mkdir /tmp/build
|
|
cd /tmp/build
|
|
helm package $REPO_PATH
|
|
helm registry login --username $REPO_USERNAME --password $REPO_PASSWORD $REPO_HOST
|
|
helm push ${CHART_NAME}-${CHART_VERSION}.tgz oci://$REPO_HOST/helm
|