wiremock icon indicating copy to clipboard operation
wiremock copied to clipboard

Release notes for betas

Open TWiStErRob opened this issue 2 months ago • 0 comments

Summary

The beta versions contain breaking changes (it's actually alpha), but there's no release notes for them. Could we have a pre-release GitHub Releases workflow set up to publish what changed in each beta? Or just tag the betas?!

Image

Even if it's just the PR list would be better then the nothing we have now.

Examples of recent breaking changes:

  • beta18 renamed common to core (https://github.com/wiremock/wiremock/commit/4c88fd66a7ac26fe77557813a5fd3fcddabcd165)
  • Swagger resources disappeared from .JAR files (https://github.com/wiremock/wiremock/commit/0dc7ba4f4a2750b737d53bfe9a42e520ee4c4126); this is a good thing, but notable!
  • Split out JUnit artifacts (https://github.com/wiremock/wiremock/commit/5a696b4a033bf0caa62605b185ebf3a354a241da) breaks compilation and we needed to add extra dependencies.
  • The decoupled apache client (https://github.com/wiremock/wiremock/pull/3241) breaks compilation and needed extra dependencies.

Potentially something like this would work in release.yml:

  release-notes:
    name: "GitHub Release"
    needs:
      - publish-core
    timeout-minutes: 5

    permissions:
      contents: write

    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
    steps:

      - name: "Checkout ${{ github.ref }} in ${{ github.repository }} repository."
        uses: actions/checkout@v6

      - name: "Get version"
        id: release-version
        run: |
          full_version=$(grep --perl-regexp --only-matching '(?<=^version=)(.+)(?=$)' wiremock-core/src/main/resources/version.properties)
          echo "version=${full_version}" | tee --append "${GITHUB_OUTPUT}"

      - name: "Create GitHub release"
        env:
          TAG: "v${{ steps.release-version.outputs.version }}"
          GH_TOKEN: ${{ github.token }}
        run: |
          link=$(gh release create "${TAG}" --generate-notes --prerelease) 
          echo "::notice title=Release ${TAG}::drafted: ${link}"

Note: internally, we use a release drafter workflow (gh release create "${TAG}" --generate-notes --draft) that drafts a release on every push to main, so we can "just publish" the releases whenever, with ready release notes. I see you have something similar, maybe it's just not published because it's "beta".

References

No response

TWiStErRob avatar Dec 08 '25 11:12 TWiStErRob