From 37a667e3a48c862d075d0172cddb65b33834eebd Mon Sep 17 00:00:00 2001 From: Seth Samuel Date: Mon, 30 Jun 2025 10:31:58 -0400 Subject: [PATCH] Add milestone action --- .github/workflows/add_milestone.yml | 51 +++++++++++++++++++++++++++++ release.json | 3 ++ 2 files changed, 54 insertions(+) create mode 100644 .github/workflows/add_milestone.yml create mode 100644 release.json diff --git a/.github/workflows/add_milestone.yml b/.github/workflows/add_milestone.yml new file mode 100644 index 0000000000000..d68b444ed3036 --- /dev/null +++ b/.github/workflows/add_milestone.yml @@ -0,0 +1,51 @@ +name: Add Milestone on a Merged PR + +on: + pull_request: + types: + - closed + branches: + - master + - "[0-9]+.[0-9]+.x" + +permissions: {} + +jobs: + add-milestone-pr: + name: Add Milestone on PR + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + permissions: + pull-requests: write + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + steps: + - name: Checkout integrations-core repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + + - name: Get repo current milestone + id: current-milestone + run: | + # Use the current_milestone field in the release.json file. + MILESTONE=$(cat release.json | jq -r .current_milestone) + if [ -z "$MILESTONE" ]; then + echo "Error: Couldn't find the current_milestone field in the release.json file." + exit 1 + fi + + if [[ ! $MILESTONE =~ ^7\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Malformed milestone $MILESTONE. It should be of the form '7.x.y'." + exit 1 + fi + echo "MILESTONE=$MILESTONE" >> "$GITHUB_OUTPUT" + + - name: Set the merged PR milestone to current_milestone from release.json + run: | + echo "Setting milestone $MILESTONE to PR $NUMBER." + gh issue edit "$NUMBER" --milestone "$MILESTONE" + env: + NUMBER: ${{ github.event.number }} + MILESTONE: ${{ steps.current-milestone.outputs.MILESTONE }} \ No newline at end of file diff --git a/release.json b/release.json new file mode 100644 index 0000000000000..53bb8ad41efd0 --- /dev/null +++ b/release.json @@ -0,0 +1,3 @@ +{ + "current_milestone": "7.69.0" +} \ No newline at end of file