name: Release Charts on: push: branches: [canary] paths: - '.github/helm/**/Chart.yml' jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Checkout Helm chart repo uses: actions/checkout@v4 with: repository: toeverything/helm-charts path: .helm-chart-repo ref: gh-pages token: ${{ secrets.HELM_RELEASER_TOKEN }} - name: Install Helm uses: azure/setup-helm@v4 - name: Install chart releaser run: | set -e arch="$(dpkg --print-architecture)" curl -s https://api.github.com/repos/helm/chart-releaser/releases/latest \ | yq --indent 0 --no-colors --input-format json --unwrapScalar \ ".assets[] | select(.name | test("\""^chart-releaser_.+_linux_${arch}\.tar\.gz$"\"")) | .browser_download_url" \ | xargs curl -SsL \ | tar zxf - -C /usr/local/bin - name: Package charts working-directory: .helm-chart-repo run: | mkdir -p .cr-index helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm dependencies build ../.github/helm/affine helm dependencies build ../.github/helm/affine-cloud cr package ../.github/helm/affine cr package ../.github/helm/affine-cloud - name: Publish charts working-directory: .helm-chart-repo run: | set -ex git config --local user.name "$GITHUB_ACTOR" git config --local user.email "$GITHUB_ACTOR@users.noreply.github.com" owner=$(cut -d '/' -f 1 <<< '${{ github.repository }}') repo=helm-charts git_hash=$(git rev-parse HEAD) cr upload --commit "$git_hash" \ --git-repo "$repo" --owner "$owner" \ --token '${{ secrets.HELM_RELEASER_TOKEN }}' \ --skip-existing cr index --git-repo "$repo" --owner "$owner" \ --token '${{ secrets.HELM_RELEASER_TOKEN }}' \ --index-path .cr-index --push