From c391e3d8439ff811a65bb086ed320c9c1a2517fe Mon Sep 17 00:00:00 2001 From: Robert Gildein Date: Fri, 3 May 2024 15:15:50 +0200 Subject: [PATCH] Add new release and promote workflow Using official actions directly. --- .github/workflows/promote.yaml | 25 +++++++++++++++++++++ .github/workflows/release.yaml | 41 ++++++++++++++++++++++------------ 2 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/promote.yaml diff --git a/.github/workflows/promote.yaml b/.github/workflows/promote.yaml new file mode 100644 index 0000000..011895e --- /dev/null +++ b/.github/workflows/promote.yaml @@ -0,0 +1,25 @@ +name: Promote charm to other tracks and channels + +on: + workflow_dispatch: + inputs: + destination-channel: + description: 'Destination Channel' + required: true + origin-channel: + description: 'Origin Channel' + required: true + +jobs: + promote-charm: + name: Promote charm + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Release charm to channel + uses: canonical/charming-actions/release-charm@2.4.0 + with: + credentials: ${{ secrets.CHARMHUB_TOKEN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + destination-channel: ${{ github.event.inputs.destination-channel }} + origin-channel: ${{ github.event.inputs.origin-channel }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 56f1863..2076532 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,25 +1,38 @@ -# This is a template `release.yaml` file for ops charms -# This file is managed by bootstack-charms-spec and should not be modified -# within individual charm repos. https://launchpad.net/bootstack-charms-spec - name: Release to Edge on: push: - branches: [ master, main ] - -concurrency: - group: release - cancel-in-progress: true + branches: [ main ] + release: + types: [ published ] jobs: check: uses: ./.github/workflows/check.yaml secrets: inherit + release: needs: check - uses: canonical/bootstack-actions/.github/workflows/charm-release.yaml@v2 - secrets: inherit - with: - channel: "latest/edge" - upload-image: false + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Initialize lxd # This should dropped once it's implemented on charming-actions itself. https://github.com/canonical/charming-actions/issues/140 + if: ${{ inputs.destructive-mode == false }} + run: | + sudo lxd init --auto + # The following is needed to fix network error when creating new base instance on lxd + sudo chmod a+wr /var/snap/lxd/common/lxd/unix.socket + lxc network set lxdbr0 ipv6.address none + sudo usermod -a -G lxd $USER + if [[ $(cat /etc/os-release | grep VERSION_CODENAME) == *"jammy"* ]]; then + sudo iptables -F FORWARD + sudo iptables -P FORWARD ACCEPT + fi + - name: Upload charm to charmhub + uses: canonical/charming-actions/upload-charm@2.4.0 + with: + credentials: "${{ secrets.CHARMHUB_TOKEN }}" + github-token: "${{ secrets.GITHUB_TOKEN }}" + channel: "latest/edge" + destructive-mode: false