From 7de58f6c70d649549635d5b19885705720f61220 Mon Sep 17 00:00:00 2001 From: Dmitry Ratushnyy Date: Tue, 5 Dec 2023 16:20:26 +0000 Subject: [PATCH] Add workflow for publishing beta --- .github/workflows/publish_beta.yaml | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/publish_beta.yaml diff --git a/.github/workflows/publish_beta.yaml b/.github/workflows/publish_beta.yaml new file mode 100644 index 0000000..7dd8c31 --- /dev/null +++ b/.github/workflows/publish_beta.yaml @@ -0,0 +1,48 @@ +name: Publish ROCK (beta) +on: + workflow_dispatch: + branches: + - '[0-9]-[0-9][0-9].[0-9][0-9]' + +jobs: + build: + uses: ./.github/workflows/build.yaml + publish: + needs: build + runs-on: ubuntu-latest + timeout-minutes: 5 + permissions: + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Setup Docker + run: | + sudo snap install docker + sudo addgroup --system docker; sudo adduser $USER docker + newgrp docker + sudo snap disable docker; sudo snap enable docker + - name: Install skopeo + run: | + sudo snap install --devmode --channel edge skopeo + - name: Install yq + run: | + sudo snap install yq + - uses: actions/download-artifact@v3 + with: + name: mongodb-rock + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_USER }} + password: ${{ secrets.GHCR_TOKEN }} + - name: Import and push to GHCR + run: | + version=$(yq '(.version)' rockcraft.yaml) + base=$(yq '(.base|split("@"))[1]' rockcraft.yaml) + tag=${version}-${base}_beta + sudo skopeo --insecure-policy copy \ + oci-archive:charmed-mongodb_${version}_amd64.rock \ + docker-daemon:ghcr.io/canonical/charmed-mongodb:${tag} + docker push ghcr.io/canonical/charmed-mongodb:${tag}