diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index abe9a0cd65..5529ee3f95 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -1,13 +1,15 @@ name: Snapshot on: - issue_comment: - types: [created] + pull_request: + branches: [main, next-minor, next-major] + push: + branches: [main, next-minor, next-major] jobs: snapshot: name: Snapshot - if: ${{ github.repository_owner == 'Effect-Ts' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/snapshot') }} + if: ${{ github.repository_owner == 'Effect-Ts' && github.event.issue.pull_request }} runs-on: ubuntu-latest timeout-minutes: 10 permissions: @@ -21,19 +23,7 @@ jobs: with: permission: write - - name: Extract snapshot command - id: command - env: - COMMENT: ${{ github.event.comment.body }} - run: | - if [[ $COMMENT == "/snapshot" ]]; then - snapshot="${BASH_REMATCH[2]:-snapshot}" - echo "snapshot=$snapshot" >> $GITHUB_OUTPUT - else - exit 1 - fi - - - name: Create initial comment + - name: Initial comment id: comment uses: peter-evans/create-or-update-comment@v4 env: @@ -57,7 +47,7 @@ jobs: id: branch run: echo "branch=$(git branch --show-current)" >> $GITHUB_OUTPUT - - name: Retrieve changeset entries + - name: Checkout main branch for changeset release if: ${{ steps.branch.outputs.branch == 'changeset-release/main' }} run: git checkout origin/main @@ -87,13 +77,14 @@ jobs: script: | const commands = ${{ steps.snapshot.outputs.snapshots }}.map((snapshot) => { const [package, installer] = snapshot.split(": ") - const [, sha] = installer.split(/@(?=[^@]*$)/) - const header = `${package} (${sha}):
` + const header = `${package}:
` const content = "\n```sh\n" + installer + "\n```\n" return [header, content].join("\n") }) const header = `**Good news @${{ github.actor }}, your snapshot has been published!**\n\n` + `You can review the build log [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}).` + + "\n" + + "Commit: ${{ github.event.head.sha }}" const packages = `
Packages:\n\n${commands.join("\n")}\n\n
`