Skip to content

Latest commit

 

History

History
41 lines (37 loc) · 2.31 KB

MAINTAINING.md

File metadata and controls

41 lines (37 loc) · 2.31 KB

Maintaining the Readium Swift toolkit

Releasing a new version

You are ready to release a new version of the Swift toolkit? Great, follow these steps:

  1. Figure out the next version using the semantic versioning scheme.
  2. Test a migration from the last released version.
    1. Create a temporary Git tag for develop with the next version tag (e.g. 3.0.1).
    2. Clone the swift-toolkit from the previous version (main branch).
    3. Under TestApp, initialize it with the next toolkit version:
      make spm version=3.0.1 lcp=...
    4. Try to run the Test App, adjusting the integration if needed.
    5. Delete the Git tag created previously.
  3. Update the migration guide in case of breaking changes.
  4. Issue the new release.
    1. Create a branch with the same name as the future tag, from develop.
    2. Bump the version numbers in the Support/CocoaPods/*.podspec files.
      • ⚠️ Don't forget to use :tag in the Podspec files instead of :branch, for example.
    3. Bump the version numbers in README.md.
    4. Bump the version numbers in TestApp/Sources/Info.plist.
    5. Close the version in the CHANGELOG.md, for example.
    6. Create a PR to merge in develop and verify the CI workflows.
    7. Squash and merge the PR.
    8. Tag the new version from develop.
      git checkout develop
      git pull
      git tag -a 3.0.1 -m 3.0.1
      git push --tags
  5. Verify you can fetch the new version from the latest Test App with make spm|carthage|cocoapods version=3.0.1
  6. Announce the release.
    1. Create a new release on GitHub.
    2. Publish a new TestFlight beta with LCP enabled.
      • Click on "External Groups" > "Public Beta", then add the new build so that it's available to everyone.
  7. Merge develop into main.
  8. ⚠️ Revert to :branch => "develop" in the Podspec files in develop.