##
## Bumps the Clarinet version listed on various package managers.
##

name: Package Version Bump
on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'The tag of the release.'
        required: true
  repository_dispatch:
    types:
      - released

env:
  GIT_USER_NAME: Hiro DevOps
  GIT_USER_EMAIL: 45208873+blockstack-devops@users.noreply.github.com

jobs:
  homebrew:
    name: Homebrew
    runs-on: macos-latest
    steps:
      - name: Homebrew version bump
        env:
          HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GH_TOKEN }}
          TAG: ${{ github.event.client_payload.tag || github.event.inputs.tag }}
        run: |
          git config --global user.name "${GIT_USER_NAME}"
          git config --global user.email "${GIT_USER_EMAIL}"

          brew update
          brew bump-formula-pr \
            --no-browse \
            --no-audit \
            --tag "${TAG}" \
            ${{ github.event.repository.name }}

  winget:
    name: Winget
    runs-on: windows-latest
    steps:
      - name: Winget version bump
        env:
          TAG: ${{ github.event.client_payload.tag || github.event.inputs.tag }}
        run: |
          # Get version infoq
          $VERSION=${env:TAG}.substring(1)

          # Configure git configs
          git config --global user.name "${env:GIT_USER_NAME}"
          git config --global user.email "${env:GIT_USER_EMAIL}"

          # Get wingetcreate
          iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
  
          # Update manifest and submit PR
          ./wingetcreate.exe update `
            --urls https://github.com/${{ github.repository }}/releases/download/${env:TAG}/clarinet-windows-x64.msi `
            --version ${VERSION} `
            --token ${{ secrets.GH_TOKEN }} `
            --submit `
            HiroSystems.Clarinet
