From d51f108197435180aa014e2dceacd3917280adea Mon Sep 17 00:00:00 2001 From: Conda Bot <18747875+conda-bot@users.noreply.github.com> Date: Sun, 8 Dec 2024 03:01:54 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=A4=96=20updated=20file(s)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RELEASE.md | 55 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index ade91a373c..a8126ef838 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -13,12 +13,12 @@ # Release Process > [!NOTE] -> Throughout this document are references to the version number as `YY.M.[$patch_number]`, this should be replaced with the correct version number. Do **not** prefix the version with a lowercase `v`. +> Throughout this document are references to the version number as `YY.M`, this should be replaced with the correct version number. Do **not** prefix the version with a lowercase `v`. ## 1. Open the release issue and cut a release branch. (do this ~1 week prior to release) > [!NOTE] -> The new release branch should adhere to the naming convention of `YY.M.x` (make sure to put the `.x` at the end!). In the case of patch/hotfix releases, however, do NOT cut a new release branch; instead, use the previously-cut release branch with the appropriate `YY.M.x` version numbers. +> The new release branch should adhere to the naming convention of `` (note the difference to `YY.M`). In the case of patch/hotfix releases, however, do NOT cut a new release branch; instead, use the previously-cut `` release branch. Use the issue template below to create the release issue. After creating the release issue, pin it for easy access. @@ -28,7 +28,7 @@ Use the issue template below to create the release issue. After creating the rel ```markdown ### Summary -Placeholder for `conda-build YY.M.x` release. +Placeholder for `conda-build ` release. | Pilot | | |---|---| @@ -46,8 +46,8 @@ Placeholder for `conda-build YY.M.x` release.

The week before release week

-- [ ] Create release branch (named `YY.M.x`) -- [ ] Ensure release candidates are being successfully built (see `conda-canary/label/rc-conda-build-YY.M.x`) +- [ ] Create release branch (named ``) +- [ ] Ensure release candidates are being successfully built (see `conda-canary/label/rc-conda-build-`) - [ ] [Complete outstanding PRs][milestone] - [ ] Test release candidates @@ -59,8 +59,8 @@ Placeholder for `conda-build YY.M.x` release. - [ ] Create release PR (see [release process][process]) - [ ] [Publish release][releases] -- [ ] Merge `YY.M.x` back into `main` -- [ ] Activate the `YY.M.x` branch on [ReadTheDocs][ReadTheDocs] +- [ ] Merge `` back into `main` +- [ ] Activate the `` branch on [ReadTheDocs][ReadTheDocs] - [ ] Feedstocks - [ ] Bump version & update dependencies/tests in [Anaconda, Inc.'s feedstock][main] - [ ] Bump version & update dependencies/tests in [conda-forge feedstock][conda-forge] @@ -87,12 +87,12 @@ If a patch release is necessary, reopen the original release issue and append th ```markdown
-

Patch YY.M.[$patch_number]

+

Patch YY.M

- [ ] - [ ] Create release PR (see [release process][process]) - [ ] [Publish release][releases] -- [ ] Merge `YY.M.x` back into `main` +- [ ] Merge `` back into `main` - [ ] Feedstocks - [ ] Bump version & update dependencies/tests in [Anaconda, Inc.'s feedstock][main] - [ ] Bump version & update dependencies/tests in [conda-forge feedstock][conda-forge] @@ -106,6 +106,9 @@ If a patch release is necessary, reopen the original release issue and append th > [!NOTE] > The [epic template][epic template] is perfect for this; remember to remove the **`epic`** label. +> [!NOTE] +> A patch release is like a regular, i.e., follow the same steps in the process as you would for a regular release. Most patches are authored by existing contributors (most likely maintainers themselves) so running `rever ` may succeed on the first pass. + ## 2. Alert various parties of the upcoming release. (do this ~1 week prior to release) Let various interested parties know about the upcoming release; at minimum, conda-forge maintainers should be informed. For major features, a blog post describing the new features should be prepared and posted once the release is completed (see the announcements section of the release issue). @@ -114,7 +117,7 @@ Let various interested parties know about the upcoming release; at minimum, cond ### Canary Builds for Manual Testing -Once the release PRs are filed, successful canary builds will be available on `https://anaconda.org/conda-canary/conda/files?channel=rc-conda-build-YY.M.x` for manual testing. +Once the release PRs are filed, successful canary builds will be available on `/conda-build/files?channel=rc-conda-build-` for manual testing. > [!NOTE] > You do not need to apply the `build::review` label for release PRs; every commit to the release branch builds and uploads canary builds to the respective `rc-` label. @@ -147,13 +150,13 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut ```bash (rever) $ git fetch upstream - (rever) $ git checkout YY.M.x + (rever) $ git checkout ``` 2. Create a versioned branch, this is where rever will make its changes: ```bash - (rever) $ git checkout -b changelog-YY.M.[$patch_number] + (rever) $ git checkout -b changelog-YY.M ``` 2. Run `rever --activities authors `: @@ -181,7 +184,7 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut - Here's a sample run where we undo the commit made by rever in order to commit the changes to `.authors.yml` separately: ```bash - (rever) $ rever --activities authors --force YY.M.[$patch_number] + (rever) $ rever --activities authors --force YY.M # changes were made to .authors.yml as per the prior bullet (rever) $ git diff --name-only HEAD HEAD~1 @@ -250,7 +253,7 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut > * Add `win-arm64` as a known platform (subdir). (#11778) > ``` - - You can utilize [GitHub's compare view][compare] to review what changes are to be included in this release. Make sure you compare the current release branch against the previous one (e.g., `24.5.x` would be compared against `24.3.x`) + - You can utilize [GitHub's compare view][compare] to review what changes are to be included in this release. Make sure you compare the current release branch against the previous one - Add a new news snippet for any PRs of importance that are missing. @@ -310,8 +313,8 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut + 86957814cf235879498ed7806029b8ff5f400034 Update .authors.yml + 3ec7491f2f58494a62f1491987d66f499f8113ad Update .mailmap + 432a9e1b41a3dec8f95a7556632f9a93fdf029fd Update news - + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M.[$patch_number] - + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M.[$patch_number] + + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M + + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M ``` 7. Since rever does not include stats on first-time contributors, we will need to add this manually. @@ -332,18 +335,18 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut + 86957814cf235879498ed7806029b8ff5f400034 Update .authors.yml + 3ec7491f2f58494a62f1491987d66f499f8113ad Update .mailmap + 432a9e1b41a3dec8f95a7556632f9a93fdf029fd Update news - + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M.[$patch_number] - + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M.[$patch_number] + + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M + + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M + 93fdf029fd4cf235872c12cab12a1f7e8f95a755 Add first-time contributions ``` 8. Push this versioned branch. ```bash - (rever) $ git push -u upstream changelog-YY.M.[$patch_number] + (rever) $ git push -u upstream changelog-YY.M ``` -9. Open the Release PR targing the `YY.M.x` branch. +9. Open the Release PR targeting the `` branch.
GitHub PR Template @@ -367,8 +370,8 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut | Field | Value | |---|---| - | Choose a tag | `YY.M.[$patch_number]` | - | Target | `YY.M.x` | + | Choose a tag | `YY.M` | + | Target | `` | | Body | copy/paste blurb from `CHANGELOG.md` |
@@ -389,14 +392,14 @@ To publish the release, go to the project's release page (e.g., https://github.c 1. From the main "< > Code" page of the repository, select the drop down menu next to the `main` branch button and then select "View all branches" at the very bottom. -2. Find the applicable `YY.M.x` branch and click the "New pull request" button. +2. Find the applicable `` branch and click the "New pull request" button. -3. "Base" should point to `main` while "Compare" should point to `YY.M.x`. +3. "Base" should point to `main` while "Compare" should point to ``. 4. Ensure that all of the commits being pulled in look accurate, then select "Create pull request". > [!NOTE] -> Make sure NOT to push the "Update Branch" button. If there are [merge conflicts][merge conflicts], create a temporary "connector branch" dedicated to fixing merge conflicts separately from the `YY.M.x` and `main` branches. +> Make sure NOT to push the "Update Branch" button. If there are [merge conflicts][merge conflicts], create a temporary "connector branch" dedicated to fixing merge conflicts separately from the `` and `main` branches. 5. Review and merge the pull request the same as any code change pull request. @@ -405,7 +408,7 @@ To publish the release, go to the project's release page (e.g., https://github.c
-## 9. Open PRs to bump [Anaconda Recipes][Anaconda Recipes] and [conda-forge][conda-forge] feedstocks to use `YY.M.[$patch_number]`. +## 9. Open PRs to bump [Anaconda Recipes][Anaconda Recipes] and [conda-forge][conda-forge] feedstocks to use `YY.M`. > [!NOTE] > Conda-forge's PRs will be auto-created via the `regro-cf-autotick-bot`. Follow the instructions below if any changes need to be made to the recipe that were not automatically added (these instructions are only necessary for anyone who is _not_ a conda-forge feedstock maintainer, since maintainers can push changes directly to the autotick branch): From 7159ff2bdca6b134d788e82c94ea21d5a865df4b Mon Sep 17 00:00:00 2001 From: Ken Odegard Date: Wed, 11 Dec 2024 08:56:27 -0600 Subject: [PATCH 2/4] Add missing variables --- .github/template-files/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/template-files/config.yml b/.github/template-files/config.yml index ad8d46b097..09f6d100d9 100644 --- a/.github/template-files/config.yml +++ b/.github/template-files/config.yml @@ -47,7 +47,9 @@ conda/infrastructure: - src: templates/releases/RELEASE.md dst: RELEASE.md with: - placeholder: YY.M + canary_channel: https://anaconda.org/conda-canary + placeholder: YY.MM.MICRO + placeholder_x: YY.MM.x - src: templates/releases/rever.xsh dst: rever.xsh - src: templates/releases/TEMPLATE From 11b827a21f501d635778c412cb05ba76dd32732e Mon Sep 17 00:00:00 2001 From: Ken Odegard Date: Wed, 11 Dec 2024 08:57:06 -0600 Subject: [PATCH 3/4] Add CalVer badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 06d2889d93..12aeeb8ba7 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,14 @@ [release-badge]: https://img.shields.io/github/v/release/conda/conda?logo=github [anaconda-badge]: https://img.shields.io/conda/vn/anaconda/conda-build?logo=anaconda [conda-forge-badge]: https://img.shields.io/conda/vn/conda-forge/conda-build?logo=conda-forge +[calver-badge]: https://img.shields.io/badge/calver-YY.MM.MICRO-22bfda.svg # `conda-build` [![GitHub Scheduled Tests][tests-badge]](https://github.com/conda/conda-build/actions/workflows/tests.yml?query=branch%3Amain+event%3Aschedule) [![Codecov Status][codecov-badge]](https://codecov.io/gh/conda/conda-build/branch/main) [![CodSpeed Performance Benchmarks][codspeed-badge]](https://codspeed.io/conda/conda-build) +[![CalVer Versioning][calver-badge]](https://calver.org)
[![GitHub Release][release-badge]](https://github.com/conda/conda-build/releases) [![Anaconda Package][anaconda-badge]](https://anaconda.org/anaconda/conda-build) From 9b6220eede15b23748f87f3a517eb40b5cd0aa0e Mon Sep 17 00:00:00 2001 From: Conda Bot <18747875+conda-bot@users.noreply.github.com> Date: Wed, 11 Dec 2024 14:57:57 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A4=96=20updated=20file(s)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RELEASE.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index a8126ef838..32d3449c6a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -13,12 +13,12 @@ # Release Process > [!NOTE] -> Throughout this document are references to the version number as `YY.M`, this should be replaced with the correct version number. Do **not** prefix the version with a lowercase `v`. +> Throughout this document are references to the version number as `YY.MM.MICRO`, this should be replaced with the correct version number. Do **not** prefix the version with a lowercase `v`. ## 1. Open the release issue and cut a release branch. (do this ~1 week prior to release) > [!NOTE] -> The new release branch should adhere to the naming convention of `` (note the difference to `YY.M`). In the case of patch/hotfix releases, however, do NOT cut a new release branch; instead, use the previously-cut `` release branch. +> The new release branch should adhere to the naming convention of `YY.MM.x` (note the difference to `YY.MM.MICRO`). In the case of patch/hotfix releases, however, do NOT cut a new release branch; instead, use the previously-cut `YY.MM.x` release branch. Use the issue template below to create the release issue. After creating the release issue, pin it for easy access. @@ -28,7 +28,7 @@ Use the issue template below to create the release issue. After creating the rel ```markdown ### Summary -Placeholder for `conda-build ` release. +Placeholder for `conda-build YY.MM.x` release. | Pilot | | |---|---| @@ -46,8 +46,8 @@ Placeholder for `conda-build ` release.

The week before release week

-- [ ] Create release branch (named ``) -- [ ] Ensure release candidates are being successfully built (see `conda-canary/label/rc-conda-build-`) +- [ ] Create release branch (named `YY.MM.x`) +- [ ] Ensure release candidates are being successfully built (see `conda-canary/label/rc-conda-build-YY.MM.x`) - [ ] [Complete outstanding PRs][milestone] - [ ] Test release candidates @@ -59,8 +59,8 @@ Placeholder for `conda-build ` release. - [ ] Create release PR (see [release process][process]) - [ ] [Publish release][releases] -- [ ] Merge `` back into `main` -- [ ] Activate the `` branch on [ReadTheDocs][ReadTheDocs] +- [ ] Merge `YY.MM.x` back into `main` +- [ ] Activate the `YY.MM.x` branch on [ReadTheDocs][ReadTheDocs] - [ ] Feedstocks - [ ] Bump version & update dependencies/tests in [Anaconda, Inc.'s feedstock][main] - [ ] Bump version & update dependencies/tests in [conda-forge feedstock][conda-forge] @@ -87,12 +87,12 @@ If a patch release is necessary, reopen the original release issue and append th ```markdown
-

Patch YY.M

+

Patch YY.MM.MICRO

- [ ] - [ ] Create release PR (see [release process][process]) - [ ] [Publish release][releases] -- [ ] Merge `` back into `main` +- [ ] Merge `YY.MM.x` back into `main` - [ ] Feedstocks - [ ] Bump version & update dependencies/tests in [Anaconda, Inc.'s feedstock][main] - [ ] Bump version & update dependencies/tests in [conda-forge feedstock][conda-forge] @@ -117,7 +117,7 @@ Let various interested parties know about the upcoming release; at minimum, cond ### Canary Builds for Manual Testing -Once the release PRs are filed, successful canary builds will be available on `/conda-build/files?channel=rc-conda-build-` for manual testing. +Once the release PRs are filed, successful canary builds will be available on `https://anaconda.org/conda-canary/conda-build/files?channel=rc-conda-build-YY.MM.x` for manual testing. > [!NOTE] > You do not need to apply the `build::review` label for release PRs; every commit to the release branch builds and uploads canary builds to the respective `rc-` label. @@ -150,13 +150,13 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut ```bash (rever) $ git fetch upstream - (rever) $ git checkout + (rever) $ git checkout YY.MM.x ``` 2. Create a versioned branch, this is where rever will make its changes: ```bash - (rever) $ git checkout -b changelog-YY.M + (rever) $ git checkout -b changelog-YY.MM.MICRO ``` 2. Run `rever --activities authors `: @@ -184,7 +184,7 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut - Here's a sample run where we undo the commit made by rever in order to commit the changes to `.authors.yml` separately: ```bash - (rever) $ rever --activities authors --force YY.M + (rever) $ rever --activities authors --force YY.MM.MICRO # changes were made to .authors.yml as per the prior bullet (rever) $ git diff --name-only HEAD HEAD~1 @@ -313,8 +313,8 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut + 86957814cf235879498ed7806029b8ff5f400034 Update .authors.yml + 3ec7491f2f58494a62f1491987d66f499f8113ad Update .mailmap + 432a9e1b41a3dec8f95a7556632f9a93fdf029fd Update news - + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M - + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M + + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.MM.MICRO + + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.MM.MICRO ``` 7. Since rever does not include stats on first-time contributors, we will need to add this manually. @@ -335,18 +335,18 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut + 86957814cf235879498ed7806029b8ff5f400034 Update .authors.yml + 3ec7491f2f58494a62f1491987d66f499f8113ad Update .mailmap + 432a9e1b41a3dec8f95a7556632f9a93fdf029fd Update news - + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.M - + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.M + + a5c0db938893d2c12cab12a1f7eb3e646ed80373 Update authorship for YY.MM.MICRO + + 5e95169d0df4bcdc2da9a6ba4a2561d90e49f75d Update CHANGELOG for YY.MM.MICRO + 93fdf029fd4cf235872c12cab12a1f7e8f95a755 Add first-time contributions ``` 8. Push this versioned branch. ```bash - (rever) $ git push -u upstream changelog-YY.M + (rever) $ git push -u upstream changelog-YY.MM.MICRO ``` -9. Open the Release PR targeting the `` branch. +9. Open the Release PR targeting the `YY.MM.x` branch.
GitHub PR Template @@ -370,8 +370,8 @@ Currently, there are only 2 activities we use rever for, (1) aggregating the aut | Field | Value | |---|---| - | Choose a tag | `YY.M` | - | Target | `` | + | Choose a tag | `YY.MM.MICRO` | + | Target | `YY.MM.x` | | Body | copy/paste blurb from `CHANGELOG.md` |
@@ -392,14 +392,14 @@ To publish the release, go to the project's release page (e.g., https://github.c 1. From the main "< > Code" page of the repository, select the drop down menu next to the `main` branch button and then select "View all branches" at the very bottom. -2. Find the applicable `` branch and click the "New pull request" button. +2. Find the applicable `YY.MM.x` branch and click the "New pull request" button. -3. "Base" should point to `main` while "Compare" should point to ``. +3. "Base" should point to `main` while "Compare" should point to `YY.MM.x`. 4. Ensure that all of the commits being pulled in look accurate, then select "Create pull request". > [!NOTE] -> Make sure NOT to push the "Update Branch" button. If there are [merge conflicts][merge conflicts], create a temporary "connector branch" dedicated to fixing merge conflicts separately from the `` and `main` branches. +> Make sure NOT to push the "Update Branch" button. If there are [merge conflicts][merge conflicts], create a temporary "connector branch" dedicated to fixing merge conflicts separately from the `YY.MM.x` and `main` branches. 5. Review and merge the pull request the same as any code change pull request. @@ -408,7 +408,7 @@ To publish the release, go to the project's release page (e.g., https://github.c
-## 9. Open PRs to bump [Anaconda Recipes][Anaconda Recipes] and [conda-forge][conda-forge] feedstocks to use `YY.M`. +## 9. Open PRs to bump [Anaconda Recipes][Anaconda Recipes] and [conda-forge][conda-forge] feedstocks to use `YY.MM.MICRO`. > [!NOTE] > Conda-forge's PRs will be auto-created via the `regro-cf-autotick-bot`. Follow the instructions below if any changes need to be made to the recipe that were not automatically added (these instructions are only necessary for anyone who is _not_ a conda-forge feedstock maintainer, since maintainers can push changes directly to the autotick branch):