From e34e162da9063aebc1de56b6d34f55915322ae84 Mon Sep 17 00:00:00 2001 From: Bart Geesink Date: Fri, 7 Jun 2024 13:39:19 +0200 Subject: [PATCH] Use reusable workflow to build the release --- .github/workflows/build-push-docker-image.yml | 65 ----------------- .github/workflows/release.yml | 12 +++ .github/workflows/tag-release.yml | 73 ------------------- 3 files changed, 12 insertions(+), 138 deletions(-) delete mode 100644 .github/workflows/build-push-docker-image.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/tag-release.yml diff --git a/.github/workflows/build-push-docker-image.yml b/.github/workflows/build-push-docker-image.yml deleted file mode 100644 index c9497e15..00000000 --- a/.github/workflows/build-push-docker-image.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: build-push-docker-image - -on: workflow_dispatch - -jobs: - build-push-docker-image: - runs-on: ubuntu-latest - permissions: - packages: write - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Get the latest release - id: release - uses: robinraju/release-downloader@v1.7 - with: - latest: true - fileName: "*.tar.bz2" - - - name: Get commit details for the tag from the latest release - id: commit_details - run: | - GIT_SHA=$(git rev-list -n 1 ${{ steps.release.outputs.tag_name }}) - GIT_COMMIT_TIME=$(git show -s --format=%ci ${{ steps.release.outputs.tag_name }}) - echo "::set-output name=sha::$GIT_SHA" - echo "::set-output name=commit_time::$GIT_COMMIT_TIME" - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set docker labels and tags - id: meta - uses: docker/metadata-action@v5 - with: - images: ghcr.io/openconext/stepup-webauthn/stepup-webauthn - tags: | - type=ref,event=tag - type=semver,pattern={{version}} - type=sha - type=raw,value=prod - - - name: Build and push the Production image - uses: docker/build-push-action@v5 - with: - context: . - build-args: | - APP_VERSION=${{ steps.release.outputs.tag_name }} - GIT_SHA=${{ steps.commit_details.outputs.sha }} - GIT_COMMIT_TIME=${{ steps.commit_details.outputs.commit_time }} - file: docker/Dockerfile.prod - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..831dda56 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,12 @@ +name: release + +on: + push: + tags: + - "*.*.*" + +jobs: + build-release-and-push-container: + uses: openconext/openconext-githubactions/.github/workflows/symfony-release.yml@main + with: + component_name: "Stepup-Webauthn" diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml deleted file mode 100644 index 07779f53..00000000 --- a/.github/workflows/tag-release.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: tag-release - -on: - push: - tags: - - "*.*.*" - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 10 - env: - COMPONENT_NAME: Stepup-Webauthn - if: always() - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - repository: OpenConext/Stepup-Build - - name: Output the semver tag to the tag variable - id: vars - run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - - name: Run release script - run: ./stepup-build.sh ${COMPONENT_NAME} --tag ${{ steps.vars.outputs.tag }} - - name: Grab the archive filename - id: archive - run: | - echo ::set-output name=archive::$(find . -maxdepth 1 -name "$COMPONENT_NAME*.tar.bz2" -printf '%f\n') - echo ::set-output name=shasum::$(find . -maxdepth 1 -name "$COMPONENT_NAME*.sha" -printf '%f\n') - - name: Create Draft Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.vars.outputs.tag }} - release_name: ${{ steps.vars.outputs.tag }} - body: Auto generated release. Please update these release notes manually. - draft: true - prerelease: false - - uses: actions/upload-release-asset@v1.0.1 - name: Upload the release artefact tarbal - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ steps.archive.outputs.archive }} - asset_name: ${{ steps.archive.outputs.archive }} - asset_content_type: application/gzip - - uses: actions/upload-release-asset@v1.0.1 - name: Upload the release artefact verification shasum - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ steps.archive.outputs.shasum }} - asset_name: ${{ steps.archive.outputs.shasum }} - asset_content_type: text/plain - - uses: eregon/publish-release@v1 - name: Publish the new release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - release_id: ${{ steps.create_release.outputs.id }} - - after_build: - needs: build - runs-on: ubuntu-latest - steps: - - name: Trigger Docker container build - uses: benc-uk/workflow-dispatch@v1 - with: - workflow: build-push-docker-image.yml