Configure Gitea Actions for Helm chart CI and release
- Replace GitHub chart-releaser with Gitea-compatible workflow - Lint job: helm lint, template validation on push to main/master - Release job: package and publish to Gitea releases on tag push (v*) - Use gitea-release-action for creating releases - Support both main and master branches Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Vendored
+60
-21
@@ -1,43 +1,82 @@
|
||||
# FleetDM Stack Helm Chart Release Pipeline
|
||||
# Publishes chart to GitHub Pages when version is bumped
|
||||
# Requires: GITHUB_TOKEN, chart-releaser-action
|
||||
# FleetDM Stack - Gitea Actions
|
||||
# CI: lint and validate chart on every push
|
||||
# Release: package and publish on tag push (v*)
|
||||
# Gitea-compatible: uses gitea context and gitea-release-action
|
||||
|
||||
name: Release Helm Chart
|
||||
name: Helm Chart CI & Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
paths:
|
||||
- 'fleetdm-stack/**'
|
||||
- '.github/workflows/release.yaml'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
paths:
|
||||
- 'fleetdm-stack/**'
|
||||
- '.github/workflows/release.yaml'
|
||||
# Release when tagging (e.g. git tag v0.1.0)
|
||||
tag:
|
||||
- 'v*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
release:
|
||||
lint:
|
||||
name: Lint Helm Chart
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Install Helm
|
||||
run: |
|
||||
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||
helm version
|
||||
|
||||
- name: Lint chart
|
||||
run: |
|
||||
helm dependency update fleetdm-stack/
|
||||
helm lint fleetdm-stack/
|
||||
helm template fleetdm-stack fleetdm-stack/ --namespace fleetdm --debug 2>/dev/null | head -20
|
||||
|
||||
release:
|
||||
name: Release Helm Chart
|
||||
runs-on: ubuntu-latest
|
||||
needs: lint
|
||||
if: startsWith(gitea.ref, 'refs/tags/v')
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
version: 'v3.14.0'
|
||||
run: |
|
||||
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.6.0
|
||||
- name: Package chart
|
||||
run: |
|
||||
helm dependency update fleetdm-stack/
|
||||
helm package fleetdm-stack/
|
||||
mkdir -p .tmp
|
||||
mv fleetdm-stack-*.tgz .tmp/
|
||||
ls -la .tmp/
|
||||
|
||||
- name: Create Gitea Release
|
||||
uses: https://gitea.com/actions/gitea-release-action@v1
|
||||
with:
|
||||
charts_dir: fleetdm-stack
|
||||
chart_release_dir: .tmp
|
||||
env:
|
||||
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
token: ${{ gitea.token }}
|
||||
tag_name: ${{ gitea.ref_name }}
|
||||
name: FleetDM Stack ${{ gitea.ref_name }}
|
||||
body: |
|
||||
Helm chart for FleetDM Server with MySQL and Redis.
|
||||
files: .tmp/*.tgz
|
||||
|
||||
Reference in New Issue
Block a user