From 71b5e1b9bf15d550332b767fbe534139f03fdcd2 Mon Sep 17 00:00:00 2001 From: Christian Geie Date: Tue, 10 Sep 2024 12:54:29 +0200 Subject: [PATCH] add 'Release Workflow Test' action --- .github/workflows/release_test.yaml | 83 +++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/release_test.yaml diff --git a/.github/workflows/release_test.yaml b/.github/workflows/release_test.yaml new file mode 100644 index 00000000..812ad2dd --- /dev/null +++ b/.github/workflows/release_test.yaml @@ -0,0 +1,83 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json +name: Release Workflow Tests +# This workflow tests the tag and changelog action and can be used to detect (some) breaking changes. +on: + workflow_dispatch: + +env: + TEST_TAG: testing + +jobs: + build-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: '0' + - name: Bump version and push tag + id: tagging + uses: anothrNick/github-tag-action@1.59.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + INITIAL_VERSION: 1.0.0 + DEFAULT_BUMP: none + BRANCH_HISTORY: last + DRY_RUN: true + - name: "Set up QEMU" + if: steps.tagging.outputs.part + uses: docker/setup-qemu-action@v2 + - name: "Set up Docker Buildx" + if: steps.tagging.outputs.part + uses: docker/setup-buildx-action@v3 + - name: "Login to DockerHub" + if: steps.tagging.outputs.part + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: "Login to Quay.io" + if: steps.tagging.outputs.part + uses: docker/login-action@v2 + with: + registry: quay.io + username: ${{ secrets.QUAY_BOT_USERNAME }} + password: ${{ secrets.QUAY_BOT_PASSWORD }} + - name: "Login to ghcr.io" + if: steps.tagging.outputs.part + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: "Build and push" + if: steps.tagging.outputs.part + id: docker_build + uses: docker/build-push-action@v6 + with: + push: true + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x + tags: | + docker.io/kiwigrid/k8s-sidecar:${{ steps.tagging.outputs.tag }}-${{ env.TEST_TAG }} + quay.io/kiwigrid/k8s-sidecar:${{ steps.tagging.outputs.tag }}-${{ env.TEST_TAG }} + ghcr.io/kiwigrid/k8s-sidecar:${{ steps.tagging.outputs.tag }}-${{ env.TEST_TAG }} + - name: "Build Changelog" + if: steps.tagging.outputs.part + id: build_changelog + uses: mikepenz/release-changelog-builder-action@v4 + with: + configuration: ".github/workflows/release-notes-config.json" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: "Create Github Release" + if: steps.tagging.outputs.part + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: ${{ steps.tagging.outputs.tag }}-${{ env.TEST_TAG }} + release_name: v${{ steps.tagging.outputs.tag }}-${{ env.TEST_TAG }} + body: ${{ steps.build_changelog.outputs.changelog }} + draft: true + prerelease: false