-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Update GitHub release issue templates #17067
Open
MikeAlhayek
wants to merge
7
commits into
main
Choose a base branch
from
ma/update-release-templates
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+120
−60
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
052d270
Update GitHub release issue templates
MikeAlhayek 1d00199
minor improvments
MikeAlhayek af9b3bf
adress feedback
MikeAlhayek fb2fa69
Update .github/ISSUE_TEMPLATE/patch_release.md
MikeAlhayek 881bb60
address feedback
MikeAlhayek 7f08e22
one more
MikeAlhayek 2328b1d
Update .github/ISSUE_TEMPLATE/release.md
MikeAlhayek File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
name: Publish a patch release | ||
about: Publish a new Orchard Core patch release | ||
title: 'Release v' | ||
labels: release | ||
assignees: '' | ||
|
||
--- | ||
|
||
# Release Patch Preparation Guide | ||
|
||
## Step 1: Backporting Pull Requests | ||
|
||
1. **Identify PRs**: Review any pull requests (PRs) that need to be backported to the release branch. | ||
2. **Backporting Process**: For PRs merged into the main branch that need to be applied to `release/2.1`, comment on the merged PR with `/backport to release/2.1`. This action will trigger GitHub to create a new PR with the same changes for the `release/2.1` branch. | ||
3. **Merge PRs**: Once all necessary PRs are created, merge them into the `release/2.1` branch. | ||
|
||
## Step 2: Administration Tasks | ||
|
||
#### Create Pull Request: | ||
|
||
- [ ] From the release branch (e.g., `release/2.1`), create a new branch for your release (e.g., `release-notes/2.1.1`). | ||
- [ ] Update version references in the documentation. Refer to [this PR](https://github.com/OrchardCMS/OrchardCore/pull/17065/files) for an example. | ||
- [ ] Version Updates Checklist: | ||
- **Update `OrchardCore.Commons.props`**: Set `<VersionSuffix></VersionSuffix>` to prevent preview build numbers. Ensure `VersionPrefix` matches the released version. | ||
- **Update Module Versions**: Modify `src/OrchardCore/OrchardCore.Abstractions/Modules/Manifest/ManifestConstants.cs` as needed. | ||
- **Release Notes**: Finalize release notes in the documentation, including: | ||
- Highlights and goals of the release. | ||
- Prerequisites for running the new version. | ||
- Upgrade steps and any breaking changes. | ||
- **Update Documentation Navigation**: Add the release notes page to `mkdocs.yml` navigation and remove it from `not_in_nav`. | ||
- **Version Mentions**: Update all references to the new version throughout the documentation, including: | ||
- [Status in the root README](https://docs.orchardcore.net/en/latest/#status) | ||
- CLI templates and commands. | ||
- Relevant guides, such as the [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) guide. | ||
|
||
## Step 3: Create New Release | ||
|
||
1. Navigate to the [GitHub Releases page](https://github.com/OrchardCMS/OrchardCore/releases/new). | ||
2. In the "**Choose a tag**" menu, enter the new version number including `v` (e.g., `v2.1.1`) and select "**+ Create tag: v... on publish**." | ||
3. Change the target branch from `main` to your target branch (e.g., `release/2.1`). | ||
4. Enter the version number in the Title field (e.g., `2.1.1`). | ||
5. Click **Generate release notes** to auto-generate release notes. | ||
6. Ensure the "Set as the latest release" checkbox is checked, then click **Publish release**. | ||
|
||
## Step 4: Align Branches | ||
|
||
1. **Merge to Main**: After releasing the new version, merge the release branch into the main branch to ensure main contains all administration changes. | ||
- Create a pull request from the release branch into main. | ||
- **Important**: DO NOT resolve conflicts using GitHub's interface; use other tools (e.g., Fork) to manage conflicts and avoid auto-merging main into the release branch. Resolving conflicts using GitHub will automatically merge main into the release branch which MUST be avoided. | ||
- Once conflicts are resolved, merge the PR into main. | ||
|
||
## Step 5: Housekeeping | ||
|
||
- [ ] Assign the milestone of the release version to the issue. | ||
- [ ] Close any remaining issues for this version or assign them to the next release. | ||
|
||
## Step 6: Validation | ||
|
||
1. **Check Functionality**: Ensure that the [`OrchardCore.Samples`](https://github.com/OrchardCMS/OrchardCore.Samples) works as expected. | ||
2. **Test Guides**: Test the following guides with NuGet packages from the Cloudsmith feed: | ||
- [Creating a modular ASP.NET Core application](https://docs.orchardcore.net/en/latest/guides/create-modular-application-mvc/) | ||
- [Creating an Orchard Core CMS website](https://docs.orchardcore.net/en/latest/guides/create-cms-application/) | ||
- [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) | ||
|
||
## Step 7: Publicize the Release | ||
|
||
- [ ] Post about the release to X via the Orchard Core X (Twitter) repo. | ||
- [ ] Post in the [Orchard Core LinkedIn group](https://www.linkedin.com/groups/13605669/). | ||
- [ ] Share on the [Orchard Core Facebook page](https://www.facebook.com/OrchardCore/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,86 +1,76 @@ | ||
--- | ||
name: Publish a release | ||
name: Publish a major or minor release | ||
about: Publish a new Orchard Core release | ||
title: 'Release v' | ||
labels: release | ||
assignees: '' | ||
|
||
--- | ||
<!-- Be sure to also read https://docs.orchardcore.net/en/latest/topics/publishing-releases/. While the checklist is in a recommended order not every step depends strictly on the previous ones. | ||
`<version name>` should be replaced with the current version, e.g. "1.8.0.". --> | ||
|
||
### Prepare the project | ||
# Release Major or Minor Preparation Guide | ||
|
||
Do some housekeeping on GitHub in the [main repo](https://github.com/OrchardCMS/OrchardCore). | ||
## Housekeeping on GitHub | ||
|
||
- [ ] Assign the milestone of the release's version to this issue. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs to happen. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. aadded |
||
- [ ] 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). | ||
- [ ] Assign the release version milestone to this issue. | ||
- [ ] **Address Outstanding Issues**: Resolve any remaining issues for the current version. | ||
- [ ] **Merge Relevant Pull Requests**: Merge any applicable pull requests or assign outstanding issues to the next release. | ||
|
||
### Prepare the code and documentation | ||
## Code and Documentation Updates | ||
|
||
Update the source, so everything looks like on the new version. | ||
- [ ] **Create Release Branch**: Create a new release branch named `release/<version-name-with-no-patch-number>` (e.g., `release/3.0`) from the `main` branch. This branch will serve as the foundation for upcoming patch releases and facilitate versioned updates. | ||
- [ ] **Check CI Workflow**: Verify that the [release_ci](https://github.com/OrchardCMS/OrchardCore/blob/main/.github/workflows/release_ci.yml) workflow is using the correct .NET version. | ||
- [ ] **Update Documentation**: Open a new pull request for the following updates: | ||
- **Update `OrchardCore.Commons.props`**: Set `<VersionSuffix></VersionSuffix>` to prevent preview build numbers. Ensure `VersionPrefix` matches the released version. | ||
- **Update Module Versions**: Modify `src/OrchardCore/OrchardCore.Abstractions/Modules/Manifest/ManifestConstants.cs` as needed. | ||
- **Release Notes**: Finalize release notes in the documentation, including: | ||
- 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. | ||
- **Update Documentation Navigation**: Add the release notes page to `mkdocs.yml` navigation and remove it from `not_in_nav`. | ||
- **Version Mentions**: Update all references to the new version throughout the documentation, including: | ||
- [Status in the root README](https://docs.orchardcore.net/en/latest/#status) | ||
- CLI templates and commands. | ||
- Relevant guides, such as the [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) guide. | ||
|
||
- [ ] 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](https://github.com/OrchardCMS/OrchardCore/blob/main/.github/workflows/release_ci.yml) 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](https://docs.orchardcore.net/en/latest/#status), CLI templates, commands, the [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) guide. | ||
## Translation Updates | ||
|
||
### Test the release | ||
- [ ] **Update Translations**: After finalizing code changes, update translations in the [Translations project](https://github.com/OrchardCMS/OrchardCore.Translations): | ||
- Update .po files using [PoExtractor](https://github.com/lukaskabrt/PoExtractor) to refresh [Crowdin](https://crowdin.com/project/orchard-core). | ||
- Publish the new version on NuGet. | ||
- Update the `OrchardCore.Translations.All` package reference in the main repository's `./Dependencies.Packages.props` file. | ||
|
||
Make sure everything works all right. | ||
## Validation | ||
MikeAlhayek marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- [ ] Make sure that [`OrchardCore.Samples` works](https://github.com/OrchardCMS/OrchardCore.Samples). | ||
- [ ] Test the [guides](https://docs.orchardcore.net/en/latest/guides/) with the NuGet packages from the Cloudsmith feed (branches under `release/` are automatically published too). Test at least the following guides: | ||
- [ ] **Test Samples**: Confirm that [`OrchardCore.Samples`](https://github.com/OrchardCMS/OrchardCore.Samples) functions correctly by using the preview packages. | ||
- [ ] **Validate Guides**: Test the following guides using the latest NuGet packages from the Cloudsmith feed: | ||
- [Creating a modular ASP.NET Core application](https://docs.orchardcore.net/en/latest/guides/create-modular-application-mvc/) | ||
- [Creating an Orchard Core CMS website](https://docs.orchardcore.net/en/latest/guides/create-cms-application/) | ||
- [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) | ||
- [ ] Re-certify Orchard Core for the latest major version of Red Hat Enterprise Linux if a new version has been released (e.g., v10 after v9). Refer to Orchard's [Red Hat Ecosystem Catalog profile](https://catalog.redhat.com/software/applications/detail/223797) for the previously certified version, the [Red Hat Customer Portal](https://access.redhat.com/articles/3078) for the latest version, and [our certification guide](https://docs.orchardcore.net/en/latest/topics/red-hat-ecosystem-catalog-certification/) for the certification steps. | ||
- [ ] **Re-certify for Red Hat**: If a new major version of Red Hat Enterprise Linux is released (e.g., v10 after v9), re-certify Orchard Core. Refer to: | ||
- Orchard's [Red Hat Ecosystem Catalog profile](https://catalog.redhat.com/software/applications/detail/223797) for the last certified version. | ||
- [Red Hat Customer Portal](https://access.redhat.com/articles/3078) for the latest version details. | ||
- [Certification guide](https://docs.orchardcore.net/en/latest/topics/red-hat-ecosystem-catalog-certification/) for certification steps. | ||
|
||
### Prepare and publish Orchard Core Translations | ||
## Creating the New Release | ||
|
||
Update everything in the [Translations project](https://github.com/OrchardCMS/OrchardCore.Translations). Only do this once all the code changes are done since localized strings can change until then. | ||
1. Navigate to the [GitHub Releases page](https://github.com/OrchardCMS/OrchardCore/releases/new). | ||
2. In the "**Choose a tag**" menu, enter the new version number (e.g., `v3.0.0`) and select "**+ Create tag: v... on publish**." | ||
3. Change the target branch from `main` to your release branch (e.g., `release/3.0`). | ||
4. Enter the version number in the Title field (e.g., `3.0.0`). | ||
5. Click **Generate release notes** to automatically create release notes. | ||
6. Ensure the "Set as the latest release" checkbox is checked, then click **Publish release**. | ||
|
||
- [ ] Update .po files with [PoExtractor](https://github.com/lukaskabrt/PoExtractor). This will also update [Crowdin](https://crowdin.com/project/orchard-core). | ||
- [ ] 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. | ||
## Post-Release Tasks | ||
|
||
### Publish the release | ||
- [ ] **Create New Milestone**: Set up a new milestone for the next release and close the previous one. | ||
- [ ] **Prepare Documentation for Next Version**: Create a new release notes file for the next version in the `OrchardCore.Docs` project (e.g., `/releases/4.0.0.md`). Exclude it from navigation and validation under `not_in_nav` in `mkdocs.yml`. | ||
- [ ] **Update Commons.props for Next Release**: Modify `OrchardCore.Commons.props` with the next release number and set `<VersionSuffix>preview</VersionSuffix>` for preview builds. | ||
- [ ] **Reassign Issues**: Reassign all closed issues from the current version milestone to the upcoming version milestone. | ||
|
||
Do the harder parts of making the release public. This should come after everything above is done. | ||
## Publicize the Release | ||
|
||
- [ ] 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. | ||
- If this is a main branch release (release/x.y), squash merge the PR. If this is a patch release (release/x.y.z for instance) don't resolve the conflicts in GH (as it would merge main to release/x.y.z) but in git. Then push from git. | ||
- Restore the branch that GH deletes automatically from the merged PR. | ||
- [ ] Create and publish a release [on GitHub](https://github.com/OrchardCMS/OrchardCore/releases/new). | ||
- 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](https://docs.orchardcore.net/en/latest/guides/) with the packages now automatically published to NuGet. Test at least the following guides: | ||
- [Creating a modular ASP.NET Core application](https://docs.orchardcore.net/en/latest/guides/create-modular-application-mvc/) | ||
- [Creating an Orchard Core CMS website](https://docs.orchardcore.net/en/latest/guides/create-cms-application/) | ||
- [Creating a new decoupled CMS Website](https://docs.orchardcore.net/en/latest/guides/decoupled-cms/) | ||
- [ ] Update [Try Orchard Core](https://github.com/OrchardCMS/TryOrchardCore). | ||
|
||
### 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. | ||
|
||
- [ ] Tweet | ||
- [ ] Post to the [Orchard Core LinkedIn group](https://www.linkedin.com/groups/13605669/) | ||
- [ ] Post to the [Orchard Core Facebook page](https://www.facebook.com/OrchardCore/) | ||
|
||
### After the release is done | ||
Share the news of the new release with the community: | ||
|
||
- [ ] 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. | ||
- [ ] Post about the release to X via the Orchard Core X (Twitter) repo. | ||
- [ ] Post in the [Orchard Core LinkedIn group](https://www.linkedin.com/groups/13605669/). | ||
- [ ] Share on the [Orchard Core Facebook page](https://www.facebook.com/OrchardCore/). |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why remove this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not needed as we documented exactly what we need. Extra noise for 0 added value.