From 411ab4dcd246bf2d4d9510341aa4bd1fb4117dcf Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:20:02 +0000 Subject: [PATCH 1/9] try opensearch release pattern --- .github/workflows/publish.yaml | 87 ++++++++++++++++++++++++++-------- 1 file changed, 68 insertions(+), 19 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 76f4e75..f7393a5 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -1,28 +1,77 @@ -# Copyright 2024 Canonical Ltd. -# See LICENSE file for licensing details. -name: Release to GHCR +name: Publish to GHCR -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true +env: + RELEASE: edge on: push: branches: - - 6-22.04 - workflow_dispatch: + - main jobs: - build: - name: Build rock - uses: canonical/data-platform-workflows/.github/workflows/build_rock.yaml@v16 + ci-tests: + name: Build and Run Tests + uses: ./.github/workflows/ci.yaml - release: - name: Release rock + publish: + name: publish + runs-on: ubuntu-latest + timeout-minutes: 15 needs: - - build - uses: canonical/data-platform-workflows/.github/workflows/release_rock.yaml@v16 - with: - artifact-prefix: ${{ needs.build.outputs.artifact-prefix }} - permissions: - packages: write # Needed to publish to GitHub Container Registry + - ci-tests + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Install required dependencies + run: | + # docker + sudo snap install docker + sudo addgroup --system docker; sudo adduser $USER docker + newgrp docker + sudo snap disable docker; sudo snap enable docker + + # skopeo + sudo snap install --devmode --channel edge skopeo + + # yq + sudo snap install yq + + - name: Download rock file + uses: actions/download-artifact@v3 + with: + name: charmed_mongodb_rock_amd64 + path: . + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_USER }} + password: ${{ secrets.GHCR_TOKEN }} + + - name: Publish rock to Store + run: | + version="$(cat rockcraft.yaml | yq .version)" + + base="$(cat rockcraft.yaml | yq .base)" + base="${base#*:}" + + # push major version to edge + major_tag_version="${version%%.*}-${{ env.RELEASE }}" + sudo skopeo \ + --insecure-policy \ + copy \ + oci-archive:charmed-mongodb_${version}_amd64.rock \ + docker-daemon:ghcr.io/canonical/charmed-mongodb:${major_tag_version} + docker push ghcr.io/canonical/charmed-mongodb:${major_tag_version} + + ### push full version to edge + tag_version="${version}-${base}_${{ env.RELEASE }}" + echo "Publishing charmed-mongodb:${tag_version}" + sudo skopeo \ + --insecure-policy \ + copy \ + oci-archive:charmed-mongodb_${version}_amd64.rock \ + docker-daemon:ghcr.io/canonical/charmed-mongodb:${tag_version} + docker push ghcr.io/canonical/charmed-mongodb:${tag_version} From 18c29289c65b9bb140c2b367ed173cfcd582894d Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:21:41 +0000 Subject: [PATCH 2/9] remove tests --- .github/workflows/publish.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index f7393a5..d38bbfd 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -9,16 +9,10 @@ on: - main jobs: - ci-tests: - name: Build and Run Tests - uses: ./.github/workflows/ci.yaml - publish: name: publish runs-on: ubuntu-latest timeout-minutes: 15 - needs: - - ci-tests steps: - name: Checkout repo uses: actions/checkout@v3 From 9c0a1a3ad51d8947b6072187f1cc238e06eb2d1e Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:26:44 +0000 Subject: [PATCH 3/9] update to run on PR --- .github/workflows/publish.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index d38bbfd..51b4bcf 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -4,9 +4,10 @@ env: RELEASE: edge on: + pull_request: push: branches: - - main + - 6-22.04 jobs: publish: From 5891fe3dadc97f6c7463035323ef212217d29f1b Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:31:34 +0000 Subject: [PATCH 4/9] fix build + release --- .github/workflows/publish.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 51b4bcf..951717c 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -11,6 +11,7 @@ on: jobs: publish: + needs: build name: publish runs-on: ubuntu-latest timeout-minutes: 15 @@ -32,11 +33,9 @@ jobs: # yq sudo snap install yq - - name: Download rock file - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v3 with: - name: charmed_mongodb_rock_amd64 - path: . + name: mongodb-rock - name: Login to GitHub Container Registry uses: docker/login-action@v2 @@ -48,7 +47,7 @@ jobs: - name: Publish rock to Store run: | version="$(cat rockcraft.yaml | yq .version)" - + version="${version%-*}" base="$(cat rockcraft.yaml | yq .base)" base="${base#*:}" From aaa79321be6953369fda4a9f4a7d45f94cd826a4 Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:37:14 +0000 Subject: [PATCH 5/9] add build workflow --- .github/workflows/publish.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 951717c..4e722ef 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -10,6 +10,10 @@ on: - 6-22.04 jobs: + build: + name: Build rock + uses: canonical/data-platform-workflows/.github/workflows/build_rock.yaml@v16 + publish: needs: build name: publish From f6a592b79c151aea1ac2a5659618b776efabbda4 Mon Sep 17 00:00:00 2001 From: Mia Altieri Date: Fri, 19 Jul 2024 16:50:38 +0000 Subject: [PATCH 6/9] properly use github workflow --- .github/workflows/publish.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 4e722ef..475fb22 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -37,9 +37,11 @@ jobs: # yq sudo snap install yq - - uses: actions/download-artifact@v3 + - name: Download rock package(s) + uses: actions/download-artifact@v4 with: - name: mongodb-rock + pattern: ${{ needs.build.outputs.artifact-prefix }}-* + merge-multiple: true - name: Login to GitHub Container Registry uses: docker/login-action@v2 From dce163570e06eaedcef6e6f517ed599429384261 Mon Sep 17 00:00:00 2001 From: Mehdi-Bendriss Date: Fri, 19 Jul 2024 19:08:06 +0200 Subject: [PATCH 7/9] fix full version of rock --- .github/workflows/publish.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 475fb22..ad921dc 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -52,8 +52,8 @@ jobs: - name: Publish rock to Store run: | - version="$(cat rockcraft.yaml | yq .version)" - version="${version%-*}" + full_version="$(cat rockcraft.yaml | yq .version)" + version="${full_version%-*}" base="$(cat rockcraft.yaml | yq .base)" base="${base#*:}" @@ -62,7 +62,7 @@ jobs: sudo skopeo \ --insecure-policy \ copy \ - oci-archive:charmed-mongodb_${version}_amd64.rock \ + oci-archive:charmed-mongodb_${full_version}_amd64.rock \ docker-daemon:ghcr.io/canonical/charmed-mongodb:${major_tag_version} docker push ghcr.io/canonical/charmed-mongodb:${major_tag_version} @@ -72,6 +72,6 @@ jobs: sudo skopeo \ --insecure-policy \ copy \ - oci-archive:charmed-mongodb_${version}_amd64.rock \ + oci-archive:charmed-mongodb_${full_version}_amd64.rock \ docker-daemon:ghcr.io/canonical/charmed-mongodb:${tag_version} docker push ghcr.io/canonical/charmed-mongodb:${tag_version} From 0ae4b3b87cc3596d82e8804cb74fb9ccafd2860d Mon Sep 17 00:00:00 2001 From: Mehdi-Bendriss Date: Fri, 19 Jul 2024 19:23:23 +0200 Subject: [PATCH 8/9] fix full version of rock --- .github/workflows/publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index ad921dc..d16cbe8 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -55,7 +55,7 @@ jobs: full_version="$(cat rockcraft.yaml | yq .version)" version="${full_version%-*}" base="$(cat rockcraft.yaml | yq .base)" - base="${base#*:}" + base="${base#*@}" # push major version to edge major_tag_version="${version%%.*}-${{ env.RELEASE }}" From b41eb2f079898360d3526d3966b131b621bf5b82 Mon Sep 17 00:00:00 2001 From: Mehdi-Bendriss Date: Fri, 19 Jul 2024 19:31:12 +0200 Subject: [PATCH 9/9] set the right pipeline trigger --- .github/workflows/publish.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index d16cbe8..0af9f0a 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -3,11 +3,15 @@ name: Publish to GHCR env: RELEASE: edge +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + on: - pull_request: push: branches: - 6-22.04 + workflow_dispatch: jobs: build: