From 2e7f05bf3aea0facae5d3dc152b3a9bdd10d73da Mon Sep 17 00:00:00 2001 From: Alessandro Fael Garcia Date: Mon, 14 Oct 2024 22:21:29 +0200 Subject: [PATCH] ci: Auto add milestone/project to Renovate PRs --- .github/workflows/milestone.yml | 47 +++++++++++++++++++++++++++++++++ CHANGELOG.md | 1 + 2 files changed, 48 insertions(+) create mode 100644 .github/workflows/milestone.yml diff --git a/.github/workflows/milestone.yml b/.github/workflows/milestone.yml new file mode 100644 index 000000000..0c1a025bb --- /dev/null +++ b/.github/workflows/milestone.yml @@ -0,0 +1,47 @@ +--- +name: Add milestone and project to GitHub PR +on: + pull_request: + branches: [main] + workflow_dispatch: +permissions: read-all +jobs: + milestone: + name: Add milestone to GitHub PR + if: github.actor == 'renovate[bot]' + runs-on: ubuntu-24.04 + permissions: + pull-requests: write + steps: + - name: Find current milestone and add it to GitHub PR + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + try { + const { data: [milestone] } = await github.rest.issues.listMilestones({ + owner: context.repo.owner, + repo: context.repo.repo, + }); + + console.log(`Current milestone: ${milestone.title} (${milestone.number})`); + + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + milestone: milestone.number, + }); + } catch (error) { + core.setFailed(`Action failed with error ${error}`); + } + + project: + name: Add project to GitHub PR + if: github.actor == 'renovate[bot]' + runs-on: ubuntu-24.04 + steps: + - name: Add Project + uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v.1.0.2 + with: + project-url: https://github.com/orgs/nginxinc/projects/17/views/1 + github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index fef88e3de..6575b91c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ CI/CD: - Remove platform metadata from the Ansible Galaxy role metadata since platforms are no longer supported in Ansible Galaxy NG. - Implement OSSF Scorecard. - Implement Renovate Bot. +- Automatically add milestone and project to Renovate Bot PRs. ## 0.24.3 (July 11, 2024)