diff --git a/.github/cr.yaml b/.github/cr.yaml new file mode 100644 index 000000000..1d981cc11 --- /dev/null +++ b/.github/cr.yaml @@ -0,0 +1,4 @@ +owner: bcgov +git-repo: traction +git-base-url: https://api.github.com/ +git-upload-url: https://uploads.github.com/ diff --git a/ct.yaml b/.github/ct.yaml similarity index 100% rename from ct.yaml rename to .github/ct.yaml diff --git a/.github/workflows/chart_release.yaml b/.github/workflows/chart_release.yaml new file mode 100644 index 000000000..de0458d7d --- /dev/null +++ b/.github/workflows/chart_release.yaml @@ -0,0 +1,48 @@ +name: Helm Chart Release + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +jobs: + # Sometimes chart-releaser might fetch an outdated index.yaml from gh-pages, causing a WAW hazard on the repo + # This job checks the remote file is up to date with the local one on release + validate-gh-pages-index: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: gh-pages + - name: Download remote index file and check equality + run: | + curl -vsSL https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/index.yaml > index.yaml.remote + LOCAL="$(md5sum < index.yaml)" + REMOTE="$(md5sum < index.yaml.remote)" + echo "$LOCAL" = "$REMOTE" + test "$LOCAL" = "$REMOTE" + + chart-release: + name: Create chart release + runs-on: ubuntu-latest + needs: [ validate-gh-pages-index ] + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Configure Git + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + - name: Install Helm + uses: azure/setup-helm@v3 + - name: Add bitnami repository + run: helm repo add bitnami https://charts.bitnami.com/bitnami + - name: Release workload charts + uses: helm/chart-releaser-action@v1.5.0 + with: + config: .github/cr.yaml + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/release_assets.yaml b/.github/workflows/release_assets.yaml index d39ea3560..dbe1ffe75 100644 --- a/.github/workflows/release_assets.yaml +++ b/.github/workflows/release_assets.yaml @@ -60,29 +60,3 @@ jobs: registry: ghcr.io registry_username: ${{ github.repository_owner}} registry_password: ${{ secrets.GITHUB_TOKEN }} - - helm_release: - name: Publish Helm Chart - runs-on: ubuntu-latest - steps: - - name: Checkout Source - uses: actions/checkout@v3 - with: - fetch-depth: 2147483647 # workaround to check-out a non-shallow repo clone - - - name: Configure Git - run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - - name: Install Helm - uses: azure/setup-helm@v3 - - - name: Add dependency chart repos - run: | - helm repo add bitnami https://charts.bitnami.com/bitnami - - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1.5.0 - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"