Release v1.8.0 #82
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: poolboy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
- name: Get image tags | |
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/} | |
# To determine VERSION, strip off any release number suffix | |
VERSION=${RELEASE/-*/} | |
# 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,v1.2,v1.2.3 | |
echo "IMAGE_TAGS=latest ${VERSION%.*} ${VERSION}" >> $GITHUB_OUTPUT | |
fi | |
# Read version from helm/Chart.yaml | |
HELM_CHART_VERSION=$(sed -nr 's/^appVersion: (.*)/\1/p' helm/Chart.yaml) | |
if [[ "v${HELM_CHART_VERSION}" != "${VERSION}" ]]; then | |
echo "Helm chart version does not match tag!" | |
exit 1 | |
fi | |
- name: Buildah Action | |
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: Dockerfile | |
- 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.QUAY_USERNAME }} | |
password: ${{ secrets.QUAY_PASSWORD }} | |
publish-helm-charts: | |
needs: publish | |
env: | |
IMAGE_NAME: poolboy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Checkout gh-pages | |
uses: actions/checkout@v2 | |
with: | |
ref: gh-pages | |
path: gh-pages | |
- name: Configure Helm | |
uses: azure/setup-helm@v1 | |
with: | |
version: latest | |
- name: Package Helm Chart | |
run: | | |
helm dep up helm/ | |
helm package helm/ | |
mv ${{ env.IMAGE_NAME }}-*.tgz gh-pages | |
helm repo index --url https://redhat-cop.github.io/${{ env.IMAGE_NAME }} gh-pages | |
- name: Push Changes to GH Pages | |
run: | | |
cd gh-pages | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "[email protected]" | |
git add . | |
git commit -m "Updating Helm Chart Repository" | |
git push |