Release v1.0.3 #34
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: publish | |
on: | |
push: | |
branches-ignore: | |
- '*' | |
tags: | |
- 'v[0-9]*' | |
jobs: | |
publish: | |
env: | |
IMAGE_NAME: replik8s | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@master | |
- name: Get the version | |
id: image_tags | |
run: | | |
# Version is a semantic version tag or semantic version with release number | |
# GITHUB_REF will be of the form "refs/tags/v0.1.2" or "refs/tags/v0.1.2-1" | |
# To determine RELEASE, strip off the leading "refs/tags/" | |
RELEASE=${GITHUB_REF#refs/tags/v} | |
# To determine VERSION, strip off any release number suffix | |
VERSION=${RELEASE/-*/} | |
# Verify version from helm/replik8s/Chart.yaml | |
HELM_CHART_VERSION=$(sed -nr 's/^appVersion: (.*)/\1/p' helm/replik8s/Chart.yaml) | |
if [[ "${HELM_CHART_VERSION}" != "${VERSION}" ]]; then | |
echo "Helm chart version does not match tag!" | |
exit 1 | |
fi | |
# Only build image if version tag without release number | |
# Releases indicate a change in the repository that should not trigger a new build. | |
if [[ "${VERSION}" == "${RELEASE}" ]]; then | |
# Publish to latest, minor, and patch tags | |
# Ex: latest,v0.1.2,v0.1 | |
echo "IMAGE_TAGS=latest v${VERSION%.*} v${VERSION}" >> $GITHUB_OUTPUT | |
fi | |
- name: Set up Docker Buildx | |
id: buildah-build | |
if: steps.image_tags.outputs.IMAGE_TAGS | |
uses: redhat-actions/buildah-build@v2 | |
with: | |
image: ${{ env.IMAGE_NAME }} | |
tags: ${{ steps.image_tags.outputs.IMAGE_TAGS }} | |
containerfiles: Containerfile | |
- name: Push image to registry | |
id: push-to-registry | |
if: steps.image_tags.outputs.IMAGE_TAGS | |
uses: redhat-actions/push-to-registry@v2 | |
with: | |
image: ${{ steps.buildah-build.outputs.image }} | |
tags: ${{ steps.buildah-build.outputs.tags }} | |
registry: ${{ vars.IMAGE_REGISTRY }}/${{ vars.IMAGE_REPOSITORY }} | |
username: ${{ secrets.IMAGE_REGISTRY_USERNAME }} | |
password: ${{ secrets.IMAGE_REGISTRY_PASSWORD }} |