From 30888b830aecb13ffbf4092ae09facc23dd4f75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Martins?= Date: Thu, 9 Nov 2023 09:34:26 +0200 Subject: [PATCH] Add build rock and charm steps to CI --- .github/workflows/pr.yml | 64 +++++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f86c9fe7..bfa01cce 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -6,23 +6,67 @@ env: SECRET_KEY: insecure_test_key jobs: - run-dotrun: + build-and-publish-image: + name: Build and Publish Image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout Code + uses: actions/checkout@v3 - - name: Install dotrun - uses: canonical/install-dotrun@main + - name: Use Node.js + uses: actions/setup-node@v3 - - name: Install dependencies - run: dotrun install + - name: Build Assets + run: | + yarn install + yarn run build-css + yarn run build-js + + - name: Install Rockcraft + run: sudo snap refresh rockcraft --classic --channel=edge/12f + + - name: Build Rock Image + run: | + export ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true + rockcraft pack + + - name: Publish Rock Image + run: >- + skopeo --insecure-policy copy + oci-archive:$(ls *.rock) + docker://ghcr.io/canonical/dqlite.io:$(git rev-parse --short HEAD) + --dest-creds "canonical:${{ secrets.GITHUB_TOKEN }}" + + build-and-publish-charm: + name: Build Charm + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 - - name: Build assets - run: dotrun build + - name: Use Node.js + uses: actions/setup-node@v3 - - name: Test site - run: dotrun & curl --head --fail --retry-delay 1 --retry 30 --retry-connrefused http://localhost:8037 + - name: Build Assets + run: | + yarn install + yarn run build-css + yarn run build-js + + - name: Install Charmcraft + run: sudo snap refresh charmcraft --classic --channel=edge/12f + + - name: Build charm + run: cd charm/ && charmcraft pack + + - name: Upload charm artifact + steps: + - uses: actions/upload-artifact@v4 + with: + name: charm-${git rev-parse --short HEAD}.charm + path: charm.charm lint-python: runs-on: ubuntu-latest