release-wiki
release-wiki copied to clipboard
Add `-start` to release tag
Add -initial to release tag
Releases are never final. Previously, when the -initial suffix
wasn't there, the tags have caused confusion and security
problems when user configurations accidentally reference
the tag instead of the release branch.
Refs https://github.com/NixOS/nixpkgs/pull/124364 Closes #45
I understand the motivation here. We use git describe to create the version string of each channel version, a knock-on effect is every issued channel bump will include -initial as part of the string. I don't think that is a good thing, and I don't know what to do about it.
I understand the motivation here. We use
git describeto create the version string of each channel version, a knock-on effect is every issued channel bump will include-initialas part of the string. I don't think that is a good thing, and I don't know what to do about it.
Maybe we can translate -initial tags to the short tags locally before doing anything else. Is that in a script somewhere?
I don't think it is in a single script, but dispersed around, unfortunately.
maybe the nix tooling should warn if a flake input is a tag?
Then again, some flakes may just provide utility functions (e.g. numtide-flakeutils). And Tagging would actually make sense
Well, it's the 11th hour, and I think for the 21.05 release, I will follow the steps as laid out before me. For the next release we can be more pro-active about changing tag conventions and fixing regressions. I understand the desire to want to prevent users from assuming that YY.MM is the desired "channel", but this is very last minute. And I already got my plate full with rfc85 changes, being the only release manager, addition of the M1 platform, and dealing with the fallout of the llvmPackages regressions.
I already got my plate full
I understand.
Perhaps we could remove the 21.05 tag (or even the 20.09) after the release as an experiment, but let's do it after the release.
The choice of ${x}-initial wasn't based on an existing convention, iirc, so it's open for bikeshedding ;). GHC uses ${major}-${minor - 1}-start; minus one because of their odd minor version numbering scheme. So that'd be -start.
From the hydra side, I don't think this will be much of an issue:
version = fileContents ../.version;
versionSuffix =
(if stableBranch then "." else "beta") + "${toString (nixpkgs.revCount - 291486)}.${nixpkgs.shortRev}";
looks like we explicitly create a git describe like tag through pure nix.
cc @dasJ @grahamc @tomberek