Skip to content

Publish build 21 of branch main by @kesara #21

Publish build 21 of branch main by @kesara

Publish build 21 of branch main by @kesara #21

Workflow file for this run

name: Publish
run-name: Publish build ${{ github.run_number }} of branch ${{ github.ref_name }} by @${{ github.actor }}
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Next Version
id: semver
uses: ietf-tools/semver-action@v1
with:
token: ${{ github.token }}
patchList: fix, bugfix, perf, refactor, test, tests, chore, ci
branch: main
skipInvalidTags: true
- name: Create Draft Release
uses: ncipollo/release-action@v1.13.0
with:
prerelease: true
draft: false
commit: ${{ github.sha }}
tag: ${{ steps.semver.outputs.nextStrict }}
name: ${{ steps.semver.outputs.nextStrict }}
body: '*pending*'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set Helm Chart and OpenAPI Version
env:
DEBIAN_FRONTEND: noninteractive
run: |
echo "Setting version ${{ steps.semver.outputs.nextStrict }}..."
sed -i -r -e "s|^version: .*$|version: '${{ steps.semver.outputs.nextStrict }}'|" -e "s|^appVersion: .*$|appVersion: '${{ steps.semver.outputs.nextStrict }}'|" helm/Chart.yaml
sed -i -r -e "s|version: .*$|version: ${{ steps.semver.outputs.nextStrict }}|" api.yml
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
push: true
build-args: |
VERSION=${{ steps.semver.outputs.nextStrict }}
platforms: linux/amd64,linux/arm64
tags: ghcr.io/${{ github.repository }}:${{ steps.semver.outputs.nextStrict }}, ghcr.io/${{ github.repository }}:latest
- name: Package and Push Chart
run: |
helm plugin install https://github.com/chartmuseum/helm-push.git
helm repo add chartmuseum https://charts.ietf.org
helm cm-push --version="${{ steps.semver.outputs.nextStrict }}" --username="${{ secrets.HELM_REPO_USERNAME }}" --password="${{ secrets.HELM_REPO_PASSWORD }}" helm/ chartmuseum
helm repo remove chartmuseum
- name: Update CHANGELOG
id: changelog
uses: requarks/changelog-action@v1
with:
token: ${{ github.token }}
fromTag: ${{ steps.semver.outputs.nextStrict }}
toTag: ${{ steps.semver.outputs.current }}
excludeTypes: ''
writeToFile: false
- name: Create Release
uses: ncipollo/release-action@v1.13.0
with:
allowUpdates: true
makeLatest: true
draft: false
tag: ${{ steps.semver.outputs.nextStrict }}
name: ${{ steps.semver.outputs.nextStrict }}
body: ${{ steps.changelog.outputs.changes }}
token: ${{ secrets.GITHUB_TOKEN }}