Files
vhaudiquet.fr/.gitea/workflows/pipeline.yml
T
vhaudiquet 7911d8f187
pipeline / build-and-push-images (push) Successful in 1m15s
pipeline / lint-and-publish-chart (push) Successful in 9s
pipeline: tryfix helm push authentication
2026-05-14 11:56:07 +02:00

74 lines
2.5 KiB
YAML

name: pipeline
on:
push:
branches:
- "master"
permissions:
packages: write
jobs:
build-and-push-images:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: https://gitea.com/actions/checkout@v4
- name: Log in to container registry
uses: docker/login-action@v3
with:
registry: https://git.vhaudiquet.fr
username: ${{ github.actor }}
password: ${{ secrets.PACKAGES_TOKEN }}
- name: Build and push docker image
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: |
git.vhaudiquet.fr/vhaudiquet/vhaudiquet.fr:latest
git.vhaudiquet.fr/vhaudiquet/vhaudiquet.fr:${{ github.sha }}
lint-and-publish-chart:
runs-on: ubuntu-latest
needs: build-and-push-images
steps:
- name: Checkout repository
uses: https://gitea.com/actions/checkout@v4
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v5
- name: Update Chart version and appVersion
run: |
# Get base chart version from Chart.yaml
BASE_VERSION=$(grep '^version:' chart/Chart.yaml | awk '{print $2}')
# Use timestamp for ordered versions (e.g., 0.1.0-20240511-130400)
# Note: SemVer pre-release cannot contain dots, only hyphens and alphanumerics
TIMESTAMP=$(date -u +"%Y%m%d-%H%M%S")
CHART_VERSION="${BASE_VERSION}-${TIMESTAMP}"
# Update both version and appVersion
sed -i "s/^version:.*/version: \"${CHART_VERSION}\"/" chart/Chart.yaml
sed -i "s/^appVersion:.*/appVersion: \"${{ github.sha }}\"/" chart/Chart.yaml
echo "chart_version=${CHART_VERSION}" >> $GITHUB_ENV
- name: Lint Helm chart
run: helm lint chart/
- name: Package Helm chart
run: helm package chart/
- name: Push Helm chart to Gitea registry
run: |
echo "Uploading chart to Gitea registry..."
echo "User: ${{ github.actor }}"
echo "URL: https://git.vhaudiquet.fr/api/packages/vhaudiquet/helm/api/charts"
# Trim any trailing newline from the token
TOKEN=$(echo -n "${{ secrets.PACKAGES_TOKEN }}" | tr -d '\n')
curl --fail -v --user "${{ github.actor }}:${TOKEN}" -X POST --upload-file vhaudiquet-fr-*.tgz "https://git.vhaudiquet.fr/api/packages/vhaudiquet/helm/api/charts"