From 49b3340bccb8fe20d499b2e281a985649ca382cd Mon Sep 17 00:00:00 2001 From: Karl Johan Grahn Date: Wed, 6 Dec 2023 23:23:23 +0100 Subject: [PATCH] update --- .github/workflows/pull_request.yaml | 84 +++----------------------- .github/workflows/push.yaml | 91 ++++------------------------- .github/workflows/release.yaml | 34 ++--------- 3 files changed, 25 insertions(+), 184 deletions(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index b6c0587..8ea6285 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -3,81 +3,15 @@ name: Pull Request on: pull_request: branches: - - main + - 'main' jobs: build: - runs-on: ubuntu-latest - name: Build - if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Generate Tag - id: generate_tag - run: | - sha=${{ github.event.pull_request.head.sha }} - tag="SNAPSHOT-PR-${{ github.event.pull_request.number }}-${sha:0:8}" - echo "##[set-output name=GIT_TAG;]$(echo ${tag})" - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Registry - uses: docker/login-action@v3 - with: - username: ${{ secrets.STAKATER_DOCKERHUB_USERNAME }} - password: ${{ secrets.STAKATER_DOCKERHUB_PASSWORD }} - - - name: Generate image repository path - run: | - echo IMAGE_REPOSITORY=$(echo ${{ github.repository }} | sed -e 's/stakater-docker/stakater/g' | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - file: ${{ env.DOCKER_FILE_PATH }} - pull: true - push: true - build-args: BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline - tags: | - ${{ env.IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.GIT_TAG }} - labels: | - org.opencontainers.image.source=${{ github.event.repository.clone_url }} - org.opencontainers.image.created=${{ steps.prep.outputs.created }} - org.opencontainers.image.revision=${{ github.sha }} - - - name: Comment on PR - uses: mshick/add-pr-comment@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - message: '@${{ github.actor }} Image is available for testing. `docker pull ${{ env.IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.GIT_TAG }}`' - allow-repeats: false - - - name: Notify Failure - if: failure() - uses: mshick/add-pr-comment@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - message: '@${{ github.actor }} Yikes! You better fix it before anyone else finds out! [Build](https://github.com/${{ github.repository }}/commit/${{ github.event.pull_request.head.sha }}/checks) has Failed!' - allow-repeats: false - - - name: Notify Slack - uses: 8398a7/action-slack@v3 - if: always() # Pick up events even if the job fails or is canceled. - with: - status: ${{ job.status }} - fields: repo,author,action,eventName,ref,workflow - env: - GITHUB_TOKEN: ${{ secrets.STAKATER_GITHUB_TOKEN }} - SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} + uses: stakater/.github/.github/workflows/pull_request_container_build.yaml@v0.0.52 + with: + DOCKER_FILE_PATH: Dockerfile + secrets: + CONTAINER_REGISTRY_URL: ghcr.io + CONTAINER_REGISTRY_USERNAME: ${{ github.actor }} + CONTAINER_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index fbcbb68..5cb9a05 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -3,84 +3,17 @@ name: Push on: push: branches: - - main + - 'main' jobs: - build: - runs-on: ubuntu-latest - name: Build - if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Generate Tag - id: generate_tag - uses: anothrNick/github-tag-action@1.67.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - WITH_V: true - RELEASE_BRANCHES: main - DEFAULT_BUMP: patch - DRY_RUN: true - - - name: Login to Registry - uses: docker/login-action@v3 - with: - username: ${{ secrets.STAKATER_DOCKERHUB_USERNAME }} - password: ${{ secrets.STAKATER_DOCKERHUB_PASSWORD }} - - - name: Generate image repository path - run: | - echo IMAGE_REPOSITORY=$(echo ${{ github.repository }} | sed -e 's/stakater-docker/stakater/g' | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - file: ${{ env.DOCKER_FILE_PATH }} - pull: true - push: true - build-args: BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline - tags: | - ${{ env.IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.new_tag }} - labels: | - org.opencontainers.image.source=${{ github.event.repository.clone_url }} - org.opencontainers.image.created=${{ steps.prep.outputs.created }} - org.opencontainers.image.revision=${{ github.sha }} - - - name: Push Latest Tag - uses: anothrNick/github-tag-action@1.67.0 - env: - GITHUB_TOKEN: ${{ secrets.STAKATER_GITHUB_TOKEN }} - WITH_V: true - RELEASE_BRANCHES: main - DEFAULT_BUMP: patch - - - name: Notify Failure - if: failure() - uses: mshick/add-pr-comment@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - message: '@${{ github.actor }} Yikes! You better fix it before anyone else finds out! [Build](https://github.com/${{ github.repository }}/commit/${{ github.event.pull_request.head.sha }}/checks) has Failed!' - allow-repeats: false - - - name: Notify Slack - uses: 8398a7/action-slack@v3 - if: always() # Pick up events even if the job fails or is canceled. - with: - status: ${{ job.status }} - fields: repo,author,action,eventName,ref,workflow - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} + push: + uses: stakater/.github/.github/workflows/push_container.yaml@v0.0.52 + with: + DOCKER_FILE_PATH: Dockerfile + RELEASE_BRANCH: main + secrets: + CONTAINER_REGISTRY_URL: ghcr.io/stakater + CONTAINER_REGISTRY_USERNAME: ${{ github.actor }} + CONTAINER_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} + GH_TOKEN: ${{ secrets.STAKATER_GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 19325ed..ae3e57d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -6,33 +6,7 @@ on: - "v*" jobs: - build: - name: Release - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 # See: https://goreleaser.com/ci/actions/ - - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false - - - name: Notify Slack - uses: 8398a7/action-slack@v3 - if: always() - with: - status: ${{ job.status }} - fields: repo,author,action,eventName,ref,workflow - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} + release: + uses: stakater/.github/.github/workflows/release_template.yaml@v0.0.52 + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }}