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