From 0f342d8d4e3645d18be8b48351cd7b4f7486ba3d Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 14:46:43 +0300 Subject: [PATCH 1/6] chore(DVIZ-24): add prerelease config on deploy --- .github/workflows/pre-release.yml | 112 ++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .github/workflows/pre-release.yml diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml new file mode 100644 index 00000000..8a174340 --- /dev/null +++ b/.github/workflows/pre-release.yml @@ -0,0 +1,112 @@ +name: Generate a Pre-Release + +on: + workflow_dispatch: + push: + branches: + - develop + +permissions: + contents: write + pull-requests: write + packages: write + +jobs: + prepare-a-release: + runs-on: ubuntu-latest + outputs: + new_version: ${{ steps.tag_version.outputs.new_version }} + new_tag: ${{ steps.tag_version.outputs.new_tag }} + current_date: ${{ steps.current_date.outputs.current_date }} + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: '0' + + - name: Configure Git user + run: | + git config user.email "tmugo@developmentgateway.org" + git config user.name "Timothy Mugo Gachengo" + + - name: Get Current Date And Time + id: current_date + run: echo "current_date=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV + + - name: Generate Tag + id: tag_version + uses: mathieudutour/github-tag-action@v6.2 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + release_branches: 'develop' + tag_prefix: 'v' + pre_release_branches: 'develop', + append_to_pre_release_tag: 'snapshot-${{ steps.current_date.outputs.current_date }}' + dry_run: 'true' + + build-and-push-docker-image: + needs: prepare-a-release + runs-on: ubuntu-latest + outputs: + new_version: ${{ needs.prepare-a-release.outputs.new_version }} + new_tag: ${{ needs.prepare-a-release.outputs.new_tag }} + current_date: ${{ needs.prepare-a-release.outputs.current_date }} + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: linux/amd64,linux/arm64 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: ${{ vars.DOCKER_REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64,linux/arm64 + cache-from: type=gha, scope=data-viz-admin + cache-to: type=gha, scope=data-viz-admin + context: . + push: true + build-args: | + VERSION=${{ needs.prepare-a-release.outputs.new_version }} + TAG=${{ needs.prepare-a-release.outputs.new_tag }} + tags: | + ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:latest + ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:v${{ needs.prepare-a-release.outputs.new_version }} + + release-on-github: + needs: build-and-push-docker-image + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'corretto' + cache: 'maven' + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ needs.build-and-push-docker-image.outputs.new_tag }} + generate_release_notes: true + draft: false + prerelease: true + make_latest: 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From d12c0df11c6d495cc3630f9545cf3c771c045b97 Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 14:50:04 +0300 Subject: [PATCH 2/6] chore(DVIZ-24): fix github workflow file --- .github/workflows/pre-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 8a174340..07d1a505 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -40,7 +40,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} release_branches: 'develop' tag_prefix: 'v' - pre_release_branches: 'develop', + pre_release_branches: 'develop' append_to_pre_release_tag: 'snapshot-${{ steps.current_date.outputs.current_date }}' dry_run: 'true' From f0b91a629d82377dedc6aa4b89dc58edcb8881c2 Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 15:03:19 +0300 Subject: [PATCH 3/6] chore(DVIZ-24): fix pre-release workflow --- .github/workflows/pre-release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 07d1a505..0807cc16 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -38,7 +38,6 @@ jobs: uses: mathieudutour/github-tag-action@v6.2 with: github_token: ${{ secrets.GITHUB_TOKEN }} - release_branches: 'develop' tag_prefix: 'v' pre_release_branches: 'develop' append_to_pre_release_tag: 'snapshot-${{ steps.current_date.outputs.current_date }}' @@ -82,7 +81,6 @@ jobs: VERSION=${{ needs.prepare-a-release.outputs.new_version }} TAG=${{ needs.prepare-a-release.outputs.new_tag }} tags: | - ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:latest ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:v${{ needs.prepare-a-release.outputs.new_version }} release-on-github: From e13b832b3e20898a25b477d80df6f37249c29cf4 Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 15:18:48 +0300 Subject: [PATCH 4/6] chore(DVIZ-24): fix pre-release workflow --- .github/workflows/pre-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 0807cc16..65d57fe9 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -31,7 +31,7 @@ jobs: - name: Get Current Date And Time id: current_date - run: echo "current_date=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV + run: echo "current_date=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT - name: Generate Tag id: tag_version From 6ddce03e49790d173535b249d83cb2fbfe3cb2ab Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 15:23:04 +0300 Subject: [PATCH 5/6] chore(DVIZ-24): fix pre-release workflow --- .github/workflows/pre-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 65d57fe9..a6629603 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -31,7 +31,7 @@ jobs: - name: Get Current Date And Time id: current_date - run: echo "current_date=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT + run: echo "current_date=$(date +'%Y%m%d%')" >> $GITHUB_OUTPUT - name: Generate Tag id: tag_version From 3c9bf0b7b3d1b4838d01e371f41fed35c2e0bec5 Mon Sep 17 00:00:00 2001 From: Timothy Mugo Date: Wed, 2 Apr 2025 16:05:02 +0300 Subject: [PATCH 6/6] chore(DVIZ-24): fix trailing dash in pre-releases --- .github/workflows/pre-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index a6629603..d650c3e5 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -31,7 +31,7 @@ jobs: - name: Get Current Date And Time id: current_date - run: echo "current_date=$(date +'%Y%m%d%')" >> $GITHUB_OUTPUT + run: echo "current_date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT - name: Generate Tag id: tag_version @@ -40,7 +40,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} tag_prefix: 'v' pre_release_branches: 'develop' - append_to_pre_release_tag: 'snapshot-${{ steps.current_date.outputs.current_date }}' + append_to_pre_release_tag: 'snapshot-${{steps.current_date.outputs.current_date}}' dry_run: 'true' build-and-push-docker-image: