name: Publish Helm Chart

on:
  push:
    branches:
      - main
      - "*-release"

jobs:
  package_chart:
    runs-on: ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2

      - name: Install Helm
        uses: azure/setup-helm@v3
        with:
          version: 3.10.2

      - name: Package Chart
        run: |
          mkdir .chart-out
          helm package chart/ --destination .chart-out
          helm package chart/proxies/ --destination .chart-out

      - name: Get Version
        run: |
          echo "version=$(cat version.txt)" >> "$GITHUB_ENV"

      - name: Upload Chart To GitHub
        uses: softprops/action-gh-release@v1
        with:
          body: |
            ## Deployment

            This release can be deployed with Helm directly by running:

            ```
            helm upgrade --install btrix https://github.com/webrecorder/browsertrix/releases/download/v${{ env.version }}/browsertrix-v${{ env.version }}.tgz
            ```

            Alternatively, you can add the Browsertrix Helm Chart Repo with:

            ```  
            helm repo add browsertrix https://docs.browsertrix.com/helm-repo/
            helm upgrade --install btrix browsertrix/browsertrix --version ${{ env.version }}
            ```

            See [the development guide](https://docs.browsertrix.com/deploy/) for more info how to deploy Browsertrix.

          files: |
            .chart-out/browsertrix-v${{ env.version }}.tgz
            .chart-out/btrix-proxies-0.1.0.tgz
          tag_name: v${{ env.version }}
          draft: true
          fail_on_unmatched_files: true
