diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..0d4e296 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +name: Release + +on: + push: + tags: + - '*.*.*' + +jobs: + release: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: '0' + + # @see https://github.com/actions/create-release/issues/38#issuecomment-715327220 + # @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files + - name: Prepare the changelog from the tag message + id: prepare_changelog + run: | + PRERELEASE=false + # Check release type + if [[ $GITHUB_REF_NAME =~ 'alpha' || $GITHUB_REF_NAME =~ 'beta' || $GITHUB_REF_NAME =~ 'rc' ]]; then + echo "This is a prerelease." + PRERELEASE=true + fi + echo "is_prerelease=$PRERELEASE" >> $GITHUB_ENV + + # @see https://github.com/actions/create-release + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: v${{ github.ref_name }} + body: Please refer to [CHANGELOG.md](https://github.com/studiometa/wp-toolkit/blob/${{ github.ref_name }}/CHANGELOG.md) for details. + draft: false + prerelease: ${{ env.is_prerelease }} diff --git a/CHANGELOG.md b/CHANGELOG.md index bfc6879..68db2aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +## v2.0.0 - 2024.03.08 + ### Added - Add an `EmailManager` to configure `PHPMailer` via environment variables ([#22](https://github.com/studiometa/wp-toolkit/pull/22))