release workflow

This commit is contained in:
2025-08-26 22:03:28 +02:00
commit f726fe935a
3 changed files with 117 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
name: Helm OCI CI
on:
workflow_call:
inputs:
chart-path:
description: "Path to the Helm chart directory"
required: false
default: "./helm"
type: string
registry:
description: "OCI registry URL"
required: false
default: "gitea.lulz.ltd/helm"
type: string
secrets:
CI_BOT_USERNAME:
required: true
CI_BOT_TOKEN:
required: true
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# Checkout repo
- name: Checkout repository
uses: actions/checkout@v3
# Install Helm
- name: Set up Helm
uses: azure/setup-helm@v4
# Extract chart name & version
- name: Get Chart Info
id: chart
run: |
NAME=$(helm show chart ${{ inputs.chart-path }} | grep '^name:' | awk '{print $2}')
VERSION=$(helm show chart ${{ inputs.chart-path }} | grep '^version:' | awk '{print $2}')
echo "chart_name=$NAME" >> $GITHUB_ENV
echo "chart_version=$VERSION" >> $GITHUB_ENV
# Login to OCI registry
- name: Helm OCI Login
run: |
echo "${{ secrets.CI_BOT_TOKEN }}" | helm registry login ${{ inputs.registry }} \
--username ${{ secrets.CI_BOT_USERNAME }} \
--password-stdin
# Package Helm chart
- name: Package Helm Chart
run: |
helm package ${{ inputs.chart-path }}
# Push chart to OCI registry
- name: Push Helm Chart
run: |
helm push ${chart_name}-${chart_version}.tgz oci://${{ inputs.registry }}

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.idea/

58
release.yaml Normal file
View File

@@ -0,0 +1,58 @@
name: Helm OCI CI
on:
workflow_call:
inputs:
chart-path:
description: "Path to the Helm chart directory"
required: false
default: "./helm"
type: string
registry:
description: "OCI registry URL"
required: false
default: "gitea.lulz.ltd/helm"
type: string
secrets:
CI_BOT_USERNAME:
required: true
CI_BOT_TOKEN:
required: true
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# Checkout repo
- name: Checkout repository
uses: actions/checkout@v3
# Install Helm
- name: Set up Helm
uses: azure/setup-helm@v4
# Extract chart name & version
- name: Get Chart Info
id: chart
run: |
NAME=$(helm show chart ${{ inputs.chart-path }} | grep '^name:' | awk '{print $2}')
VERSION=$(helm show chart ${{ inputs.chart-path }} | grep '^version:' | awk '{print $2}')
echo "chart_name=$NAME" >> $GITHUB_ENV
echo "chart_version=$VERSION" >> $GITHUB_ENV
# Login to OCI registry
- name: Helm OCI Login
run: |
echo "${{ secrets.CI_BOT_TOKEN }}" | helm registry login ${{ inputs.registry }} \
--username ${{ secrets.CI_BOT_USERNAME }} \
--password-stdin
# Package Helm chart
- name: Package Helm Chart
run: |
helm package ${{ inputs.chart-path }}
# Push chart to OCI registry
- name: Push Helm Chart
run: |
helm push ${chart_name}-${chart_version}.tgz oci://${{ inputs.registry }}