Skip to content

new helm oci step

new helm oci step #6

################################################################################
# This file is AUTOGENERATED with <https://github.com/sapcc/go-makefile-maker> #
# Edit Makefile.maker.yaml instead. #
################################################################################
# SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company
# SPDX-License-Identifier: Apache-2.0
name: Helm OCI Package GHCR
"on":
push:
branches:
- new-helm-oci
tags:
- '*'
workflow_dispatch: {}
permissions:
contents: read
packages: write
jobs:
build-and-push-helm-package:
name: Build and publish Helm Chart OCI
runs-on: large_runner_16core_64gb
steps:
- name: Check out code
uses: actions/checkout@v6
- name: Install Helm
uses: azure/setup-helm@v4.3.1
- name: Lint Helm Chart
run: helm lint charts/openstack-hypervisor-operator
- name: Package Helm Chart
run: |
# try to detect a version from the git tags, only if the tag is exactly on the commit, otherwise we might get a version from a previous tag which would be wrong
APP_VERSION=$(git describe --tags --exact-match ${{ github.sha }} 2>/dev/null || echo "")
if [ -n "$APP_VERSION" ]; then
VERSION=$(echo -n "$APP_VERSION" | sed -E 's/^v//')
fi
# use the git sha as version, if no version could be detected from the tags
if [ -z "$APP_VERSION" ]; then
APP_VERSION=$(echo -n "sha-${{ github.sha }}")
fi
if [ -z "$VERSION" ] && [ -n "$APP_VERSION" ]; then
VERSION="$(helm show chart charts/openstack-hypervisor-operator | grep -E "^version:" | awk '{print $2}' )+${APP_VERSION:0:11}"
fi
HELM_ARGS=--dependency-update
if [ -n "$APP_VERSION" ]; then
HELM_ARGS="$HELM_ARGS --app-version $APP_VERSION"
fi
if [ -n "$VERSION" ]; then
HELM_ARGS="$HELM_ARGS --version $VERSION"
fi
echo "Running helm packkage with $HELM_ARGS"
helm package charts/openstack-hypervisor-operator --destination ./chart $HELM_ARGS
- name: Log in to the Container registry
uses: docker/login-action@v4
with:
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
username: ${{ github.actor }}
- name: Push Helm Chart to ghcr.io
run: helm push ./chart/*.tgz oci://ghcr.io/${{ github.repository_owner }}/charts