| # This workflow creates release PRs and tags the top level release for |
| # the top level repository: |
| on: |
| push: |
| branches: |
| - master |
| name: release-please |
| jobs: |
| release-please-pr: |
| runs-on: ubuntu-latest |
| steps: |
| - id: release-pr # Open the release PR from a fork. |
| uses: GoogleCloudPlatform/release-please-action@v2 |
| with: |
| # token: ${{ secrets.FORKING_TOKEN }} |
| token: ${{ secrets.FORKING_TOKEN }} |
| release-type: go-yoshi |
| bump-minor-pre-major: true |
| fork: true |
| package-name: google-cloud-go |
| command: release-pr |
| - uses: actions/github-script@v4 |
| id: label # Add the magic "autorelease: pending" label. |
| if: ${{ steps.release-pr.outputs.pr }} |
| with: |
| github-token: ${{secrets.GITHUB_TOKEN}} |
| script: | |
| const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); |
| await github.issues.addLabels({ |
| owner, |
| repo, |
| issue_number: ${{steps.release-pr.outputs.pr}}, |
| labels: ['autorelease: pending'] |
| }); |
| console.log(`Tagged ${{steps.release-pr.outputs.pr}}`) |
| release-please-release: # Actually tag the release. |
| runs-on: ubuntu-latest |
| steps: |
| - uses: GoogleCloudPlatform/release-please-action@v2 |
| id: tag-release |
| with: |
| token: ${{ secrets.GITHUB_TOKEN }} |
| release-type: go-yoshi |
| package-name: google-cloud-go |
| command: github-release |
| changelog-path: CHANGES.md |
| # Add the "autorelease: published" and remove tagged, this allows |
| # monitoring to be enabled that detects failed releases: |
| - uses: actions/github-script@v4 |
| id: untag-release |
| if: ${{steps.tag-release.outputs.pr}} |
| with: |
| github-token: ${{secrets.GITHUB_TOKEN}} |
| script: | |
| const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); |
| await github.issues.addLabels({ |
| owner, |
| repo, |
| issue_number: ${{steps.tag-release.outputs.pr}}, |
| labels: ['autorelease: published'] |
| }); |
| github.issues.removeLabel({ |
| owner, |
| repo, |
| issue_number: ${{steps.tag-release.outputs.pr}}, |
| name: 'autorelease: tagged', |
| }); |
| console.log(`Tagged ${{steps.tag-release.outputs.pr}}`) |