on: # schedule: # - cron: '49 8 * * 1' workflow_dispatch: name: release-please jobs: release-please: env: ENABLE_AUTO_APPROVE: ${{ secrets.ENABLE_AUTO_APPROVE }} runs-on: ubuntu-latest steps: - name: ReleasePlease uses: GoogleCloudPlatform/release-please-action@v2.5.7 with: command: release-pr token: ${{ secrets.YOSHI_CODE_BOT_TOKEN }} fork: true release-type: ruby package-name: google-api-ruby-client version-file: lib/google/apis/version.rb monorepo-tags: true bump-minor-pre-major: true - name: AutoApprove if: ${{ always() }} uses: actions/github-script@v2 with: github-token: ${{secrets.YOSHI_APPROVER_TOKEN}} script: | const prs = await github.pulls.list({ owner: 'googleapis', repo: 'google-api-ruby-client', state: 'open', sort: 'created', direction: 'desc', per_page: 10 }); var found = false; prs.data.forEach(function(pr) { if (found || pr.user.login != "yoshi-code-bot" || !pr.title.startsWith("Release ")) { return; } core.info("AutoApprove: Found release PR " + pr.number); if (process.env.ENABLE_AUTO_APPROVE) { core.info("ENABLE_AUTO_APPROVE is set; labeling and approving"); github.pulls.createReview({ owner: 'googleapis', repo: 'google-api-ruby-client', body: "AutoApprove: Rubber stamped release!", pull_number: pr.number, event: "APPROVE" }); github.issues.addLabels({ owner: 'googleapis', repo: 'google-api-ruby-client', issue_number: pr.number, labels: ["autorelease: pending", "automerge"] }); } else { core.info("ENABLE_AUTO_APPROVE is not set; labeling release only"); github.issues.addLabels({ owner: 'googleapis', repo: 'google-api-ruby-client', issue_number: pr.number, labels: ["autorelease: pending"] }); } core.info("AutoApprove: complete!"); found = true; }); if (!found) { core.setFailed("Unable to find release PR."); }