Skip to content

Merge branch 'hotfix/2.3.1' #2

Merge branch 'hotfix/2.3.1'

Merge branch 'hotfix/2.3.1' #2

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*.*.*'
- 'v*.*.*-*'
jobs:
context:
name: Determine context
runs-on: ubuntu-latest
outputs:
version: ${{steps.version.outputs.version}}
major: ${{steps.major.outputs.major}}
prerelease: ${{steps.prerelease.outputs.prerelease}}
steps:
- name: Grab version
id: version
run: echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
- name: Grab major version
id: major
run: echo "major=$(echo ${GITHUB_REF#refs/tags/} | cut -d'.' -f1)" >> "$GITHUB_OUTPUT"
- name: Determine (pre-)release status
id: prerelease
run: |
if [[ "${GITHUB_REF#refs/tags/}" == *-* ]]; then
echo "prerelease=true" >> "$GITHUB_OUTPUT"
else
echo "prerelease=false" >> "$GITHUB_OUTPUT"
fi
release:
name: Release
needs: context
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Changelog
id: changelog
uses: mikepenz/release-changelog-builder-action@v3
with:
configuration: '.github/changelog-configuration.json'
env:
GITHUB_TOKEN: ${{ secrets.GHCR_PAT }}
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.ref }}
name: Release ${{ needs.context.outputs.version }}
draft: false
prerelease: ${{ needs.context.outputs.prerelease == 'true' }}
body: ${{ steps.changelog.outputs.changelog }}
env:
GITHUB_TOKEN: ${{ secrets.GHCR_PAT }}
publish:
name: Build and push
needs: [context, release]
runs-on: ubuntu-latest
steps:
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_PAT }}
- name: Build and push version-tagged Docker image
if: needs.context.outputs.prerelease == 'true'
uses: docker/build-push-action@v5
with:
push: true
tags: ghcr.io/${{ github.repository }}:${{ needs.context.outputs.version }}
- name: Build and push latest Docker image
if: needs.context.outputs.prerelease == 'false'
uses: docker/build-push-action@v5
with:
push: true
tags: |
ghcr.io/${{ github.repository }}:latest
ghcr.io/${{ github.repository }}:${{ needs.context.outputs.major }}
ghcr.io/${{ github.repository }}:${{ needs.context.outputs.version }}