name: Publish Helm Chart on: workflow_dispatch: push: branches: - main paths: - 'Chart.yaml' # Only trigger if version changes or main is updated jobs: publish: env: REGISTRY_HOST: forge.northernlighthouseinteractive.com runs-on: ubuntu-latest # Or whatever label your runner uses steps: - name: Checkout uses: actions/checkout@v3 - name: Install Helm uses: azure/setup-helm@v3 with: version: v3.12.0 - name: Install Dependencies run: helm dependency update . - name: Package Chart run: helm package . - name: Login to Registry run: | # Gitea automatically provides the token and actor variables echo ${{ secrets.REPOSITORY_TOKEN }} | helm registry login ${{ env.REGISTRY_HOST }} \ --username ${{ gitea.repository_owner }} \ --password-stdin - name: Push to Gitea Registry run: | # Clean the protocol (https://) from the URL for OCI DOMAIN=${{ env.REGISTRY_HOST }} DOMAIN=${DOMAIN#*//} # Find the packaged .tgz file CHART_FILE=$(ls *.tgz) # Push to the OCI registry # URL Format: oci:////charts helm push $CHART_FILE oci://$DOMAIN/${{ gitea.repository_owner }}/charts