Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v2.1.1 #17063

Closed
17 of 29 tasks
MikeAlhayek opened this issue Nov 25, 2024 · 0 comments
Closed
17 of 29 tasks

Release v2.1.1 #17063

MikeAlhayek opened this issue Nov 25, 2024 · 0 comments
Labels

Comments

@MikeAlhayek
Copy link
Member

MikeAlhayek commented Nov 25, 2024

Prepare the project

Do some housekeeping on GitHub in the main repo.

  • Assign the milestone of the release's version to this issue.
  • Close remaining issues for the version (including merging corresponding pull requests if suitable) or assign them to the next one.
  • Assign all issues that were closed for an upcoming version (including a wildcard version like "1.0.x") to this version (milestone).

Prepare the code and documentation

Update the source, so everything looks like on the new version.

  • Create a release/<version name> branch (e.g., release/1.8.0) from main or the previous release branch. This is necessary to target pull requests for the upcoming release.
  • Create an issue branch out of this branch as usual.
  • Check the release_ci workflow is using the expected .NET version to build the Docker images.
  • Update the OrchardCore.Commons.props file with <VersionSuffix></VersionSuffix> such that preview build numbers are not injected in packages. Verify the VersionPrefix tag matches the released version.
  • Update module versions in src/OrchardCore/OrchardCore.Abstractions/Modules/Manifest/ManifestConstants.cs.
  • Create a new milestone.
  • Add final updates to the release notes in the documentation. It should include the following, at least:
    • Overview of the release's highlights and goals. What do you want people to remember this release for?
    • Prerequisites. What framework version do you need, anything else to work with Orchard?
    • Upgrade steps, any migration necessary from previous versions, and any breaking changes.
  • Add the release notes documentation page to the documentation site's navigation in mkdocs.yml and remove it from not_in_nav.
  • Update the documentation to mention the version in all places where the latest version is referenced, for example, but not limited to (do a search for the package version string): Status in the root README, CLI templates, commands, the Creating a new decoupled CMS Website guide.

Test the release

Make sure everything works all right.

Prepare and publish Orchard Core Translations

Update everything in the Translations project. Only do this once all the code changes are done since localized strings can change until then.

  • Update .po files with PoExtractor. This will also update Crowdin.
  • Publish the new version on NuGet.
  • Update the OrchardCore.Translations.All package reference in the main repo's ./Dependencies.Packages.props file to refer to the new NuGet package.

Publish the release

Do the harder parts of making the release public. This should come after everything above is done.

  • Tag the head of release/<version name> with the version. Include v in the name, e.g. v1.8.0.
  • Merge release/<version name> to main.
    • You'll need to create a pull request.
    • Merge it as a merge commit, not squash merge.
    • If there are merge conflicts, then create a release/<version name>-integration branch and fix them there.
  • Create and publish a release on GitHub.
    • Generate release notes.
    • Add a link to the release notes in the docs (something like For details on this version see the [release notes in the documentation](link here).). Note that the docs will only be built once the branch is merged to main.
  • Test the guides with the packages now automatically published to NuGet. Test at least the following guides:
  • Update Try Orchard Core.

Publicize the release

Let the whole world know about our shiny new release. Savor this part! These steps will make the release public so only do them once everything else is ready.

After the release is done

  • Create a new milestone with the next release number and close the old milestone.
  • Create a new release notes documentation file for the next version in the OrchardCore.Docs project. (e.g., /releases/1.8.0.md). Don't add it to the docs navigation and exclude it from validation under not_in_nav with mkdocs.yml.
  • Update the OrchardCore.Commons.props file with the next release number, and <VersionSuffix>preview</VersionSuffix> such that preview builds use the new one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant