From 196eb2d5a9100eed3da07dbfa2e5a2d04eb1d5bd Mon Sep 17 00:00:00 2001 From: Rob Allen Date: Wed, 29 Jul 2026 07:39:27 +0100 Subject: [PATCH] Update release CI workflow adlerhsieh/prepare-release is dead, so replace with the using gh directly. Update softprops/action-gh-release to the latest. --- .github/workflows/release.yml | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9def398..3796e8e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,35 +1,38 @@ name: Release # On push of version number tag, this workflow will: +# - Create a GitHub release with generated release notes # - Close the milestone of the same name (if it exists) -# - Create a GitHub release on: push: tags: - - '[0-9].*' + - '[0-9]+.[0-9]+.[0-9]+' permissions: contents: write + issues: write jobs: - build: + release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - - name: Close Milestone - uses: adlerhsieh/prepare-release@0.1.2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - REPO_OWNER: 19FT - REPO: NFNumberToWord - IGNORE_MILESTONE_NOT_FOUND: true - - name: Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v3 with: generate_release_notes: true - files: ${{ steps.builder.outputs.workflow_file }} + + - name: Close milestone + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ github.ref_name }} + run: | + number=$(gh api --paginate "repos/$GITHUB_REPOSITORY/milestones?state=open" \ + --jq '.[] | select(.title == env.TAG) | .number') + if [ -z "$number" ]; then + echo "No open milestone named $TAG; nothing to close." + exit 0 + fi + gh api -X PATCH "repos/$GITHUB_REPOSITORY/milestones/$number" -f state=closed