From e853eda33a750118ad88dea4152b66567ecf3b4a Mon Sep 17 00:00:00 2001 From: Mina Ashraf <49838098+mina1460@users.noreply.github.com> Date: Wed, 23 Aug 2023 11:12:36 +0300 Subject: [PATCH] ci/cd base (#1028) * ci/cd base * snap release * only on tags and release to 1/edge --------- Signed-off-by: Mina Ashraf --- .github/workflows/snap-release.yaml | 48 +++++++++++++++++++ .gitignore | 2 +- snaps/{jaas => jimmctl}/files/jimmctl.wrapper | 0 snaps/{jaas => jimmctl}/snapcraft.yaml | 11 +++-- 4 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/snap-release.yaml rename snaps/{jaas => jimmctl}/files/jimmctl.wrapper (100%) rename snaps/{jaas => jimmctl}/snapcraft.yaml (75%) diff --git a/.github/workflows/snap-release.yaml b/.github/workflows/snap-release.yaml new file mode 100644 index 000000000..77bf6dd2b --- /dev/null +++ b/.github/workflows/snap-release.yaml @@ -0,0 +1,48 @@ +name: Release jimmctl snap + +on: + workflow_dispatch: + push: + tags: + - 'v1*' + + +# Note this workflow requires a Github secret to provide auth against snapstore. +# snapcraft export-login --snaps=PACKAGE_NAME --acls package_access,package_push,package_update,package_release exported.txt +# check this: https://github.com/snapcore/action-publish + +jobs: + build: + outputs: + snap: ${{ steps.snapcraft.outputs.snap }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: scripts + run: | + mkdir -p ./snap + cp ./snaps/jimmctl/snapcraft.yaml ./snap/ + - uses: snapcore/action-build@v1 + id: snapcraft + - uses: actions/upload-artifact@v2 + with: + name: ${{ steps.snapcraft.outputs.snap }} + path: ${{ steps.snapcraft.outputs.snap }} + + publish: + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/download-artifact@v3 + with: + name: ${{needs.build.outputs.snap}} + - uses: snapcore/action-publish@v1 + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }} + with: + store_login: ${{ secrets.STORE_LOGIN }} + snap: ${{needs.build.outputs.snap}} + release: '1/edge' + diff --git a/.gitignore b/.gitignore index a55cda154..05141fd65 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,5 @@ local/vault/roleid.txt *.crt *.key *.csr -jimmctl +/jimmctl qa-controller diff --git a/snaps/jaas/files/jimmctl.wrapper b/snaps/jimmctl/files/jimmctl.wrapper similarity index 100% rename from snaps/jaas/files/jimmctl.wrapper rename to snaps/jimmctl/files/jimmctl.wrapper diff --git a/snaps/jaas/snapcraft.yaml b/snaps/jimmctl/snapcraft.yaml similarity index 75% rename from snaps/jaas/snapcraft.yaml rename to snaps/jimmctl/snapcraft.yaml index 48b43fec3..79d9e57ec 100644 --- a/snaps/jaas/snapcraft.yaml +++ b/snaps/jimmctl/snapcraft.yaml @@ -1,4 +1,4 @@ -name: jaas +name: jimmctl version: git summary: JAAS client description: Client for controlling JAAS multi-cloud juju controllers. @@ -19,20 +19,23 @@ apps: - dot-local-share-juju - network + parts: jimmctl: plugin: go - source: ../.. + source: ./ source-type: git prime: - bin/jimmctl override-build: | set -e - go install -mod readonly -p 16 -ldflags '-linkmode=external' github.com/canonical/jimm/cmd/jimmctl + go install -mod readonly -ldflags '-linkmode=external' github.com/canonical/jimm/cmd/jimmctl + files: plugin: dump - source: files + source: snaps/jimmctl/files/ + source-type: local organize: jimmctl.wrapper: bin/wrappers/jimmctl prime: