1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-03 14:31:46 +02:00

Merge pull request #41 from DeterminateSystems/push-xnskkytzsuom

Generate release notes when proposing a release, clean up templates
This commit is contained in:
Graham Christensen 2025-04-29 15:39:35 +00:00 committed by GitHub
commit eaae67bb4e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 110 additions and 122 deletions

26
.github/CODEOWNERS vendored
View file

@ -1,26 +0,0 @@
# Pull requests concerning the listed files will automatically invite the respective maintainers as reviewers.
# This file is not used for denoting any kind of ownership, but is merely a tool for handling notifications.
#
# Merge permissions are required for maintaining an entry in this file.
# For documentation on this mechanism, see https://help.github.com/articles/about-codeowners/
# Default reviewers if nothing else matches
* @edolstra
# This file
.github/CODEOWNERS @edolstra
# Documentation of built-in functions
src/libexpr/primops.cc @roberth @fricklerhandwerk
# Documentation of settings
src/libexpr/eval-settings.hh @fricklerhandwerk
src/libstore/globals.hh @fricklerhandwerk
# Documentation
doc/manual @fricklerhandwerk
maintainers/*.md @fricklerhandwerk
src/**/*.md @fricklerhandwerk
# Libstore layer
/src/libstore @ericson2314

View file

@ -1,10 +1,9 @@
--- ---
name: Bug report name: Bug report
about: Report unexpected or incorrect behaviour about: Report unexpected or incorrect behaviour
title: '' title: ""
labels: bug labels: bug
assignees: '' assignees: ""
--- ---
## Describe the bug ## Describe the bug
@ -32,7 +31,9 @@ assignees: ''
## Metadata ## Metadata
<!-- Please insert the output of running `nix-env --version` below this line --> <!-- Please insert the output of running `determinate-nixd version` below this line -->
<!-- Please insert the output of running `nix --version` below this line -->
## Additional context ## Additional context
@ -42,13 +43,9 @@ assignees: ''
<!-- make sure this issue is not redundant or obsolete --> <!-- make sure this issue is not redundant or obsolete -->
- [ ] checked [latest Nix manual] \([source]) - [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open bug issues and pull requests] for possible duplicates - [ ] checked [open bug issues and pull requests] for possible duplicates
[latest Nix manual]: https://nixos.org/manual/nix/unstable/ [latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source [source]: https://github.com/DeterminateSystems/nix-src/tree/detsys-main/doc/manual/source
[open bug issues and pull requests]: https://github.com/NixOS/nix/labels/bug [open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
---
Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).

View file

@ -1,10 +1,9 @@
--- ---
name: Feature request name: Feature request
about: Suggest a new feature about: Suggest a new feature
title: '' title: ""
labels: feature labels: feature
assignees: '' assignees: ""
--- ---
## Is your feature request related to a problem? ## Is your feature request related to a problem?
@ -27,13 +26,9 @@ assignees: ''
<!-- make sure this issue is not redundant or obsolete --> <!-- make sure this issue is not redundant or obsolete -->
- [ ] checked [latest Nix manual] \([source]) - [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open feature issues and pull requests] for possible duplicates - [ ] checked [open bug issues and pull requests] for possible duplicates
[latest Nix manual]: https://nixos.org/manual/nix/unstable/ [latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source [source]: https://github.com/DeterminateSystems/nix-src/tree/detsys-main/doc/manual/source
[open feature issues and pull requests]: https://github.com/NixOS/nix/labels/feature [open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
---
Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).

View file

@ -1,18 +1,17 @@
--- ---
name: Installer issue name: Installer issue
about: Report problems with installation about: Report problems with installation
title: '' title: ""
labels: installer labels: installer
assignees: '' assignees: ""
--- ---
## Platform ## Platform
<!-- select the platform on which you tried to install Nix --> <!-- select the platform on which you tried to install Determinate Nix -->
- [ ] Linux: <!-- state your distribution, e.g. Arch Linux, Ubuntu, ... -->
- [ ] macOS - [ ] macOS
- [ ] Linux: <!-- state your distribution, e.g. Arch Linux, Ubuntu, ... -->
- [ ] WSL - [ ] WSL
## Additional information ## Additional information
@ -35,13 +34,9 @@ assignees: ''
<!-- make sure this issue is not redundant or obsolete --> <!-- make sure this issue is not redundant or obsolete -->
- [ ] checked [latest Nix manual] \([source]) - [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open installer issues and pull requests] for possible duplicates - [ ] checked [open bug issues and pull requests] for possible duplicates
[latest Nix manual]: https://nixos.org/manual/nix/unstable/ [latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source [source]: https://github.com/DeterminateSystems/nix-src/tree/detsys-main/doc/manual/source
[open installer issues and pull requests]: https://github.com/NixOS/nix/labels/installer [open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
---
Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).

View file

@ -1,10 +1,9 @@
--- ---
name: Missing or incorrect documentation name: Missing or incorrect documentation
about: Help us improve the reference manual about: Help us improve the reference manual
title: '' title: ""
labels: documentation labels: documentation
assignees: '' assignees: ""
--- ---
## Problem ## Problem
@ -19,13 +18,9 @@ assignees: ''
<!-- make sure this issue is not redundant or obsolete --> <!-- make sure this issue is not redundant or obsolete -->
- [ ] checked [latest Nix manual] \([source]) - [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open documentation issues and pull requests] for possible duplicates - [ ] checked [open bug issues and pull requests] for possible duplicates
[latest Nix manual]: https://nixos.org/manual/nix/unstable/ [latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source [source]: https://github.com/DeterminateSystems/nix-src/tree/detsys-main/doc/manual/source
[open documentation issues and pull requests]: https://github.com/NixOS/nix/labels/documentation [open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
---
Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).

View file

@ -1,22 +1,3 @@
<!--
IMPORTANT
Nix is a non-trivial project, so for your contribution to be successful,
it really is important to follow the contributing guidelines:
https://github.com/NixOS/nix/blob/master/CONTRIBUTING.md
Even if you've contributed to open source before, take a moment to read it,
so you understand the process and the expectations.
- what information to include in commit messages
- proper attribution
- volunteering contributions effectively
- how to get help and our review process.
-->
## Motivation ## Motivation
<!-- Briefly explain what the change is about and why it is desirable. --> <!-- Briefly explain what the change is about and why it is desirable. -->
@ -30,9 +11,3 @@ so you understand the process and the expectations.
<!-- Invasive change: Discuss alternative designs or approaches you considered. --> <!-- Invasive change: Discuss alternative designs or approaches you considered. -->
<!-- Large change: Provide instructions to reviewers how to read the diff. --> <!-- Large change: Provide instructions to reviewers how to read the diff. -->
---
Add :+1: to [pull requests you find important](https://github.com/NixOS/nix/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc).
The Nix maintainer team uses a [GitHub project board](https://github.com/orgs/NixOS/projects/19) to [schedule and track reviews](https://github.com/NixOS/nix/tree/master/maintainers#project-board-protocol).

25
.github/STALE-BOT.md vendored
View file

@ -2,34 +2,21 @@
- Thanks for your contribution! - Thanks for your contribution!
- To remove the stale label, just leave a new comment. - To remove the stale label, just leave a new comment.
- _How to find the right people to ping?_ &rarr; [`git blame`](https://git-scm.com/docs/git-blame) to the rescue! (or GitHub's history and blame buttons.) - You can always ask for help on [Discord](https://determinate.systems/discord).
- You can always ask for help on [our Discourse Forum](https://discourse.nixos.org/) or on [Matrix - #nix:nixos.org](https://matrix.to/#/#nix:nixos.org).
## Suggestions for PRs ## Suggestions for PRs
1. GitHub sometimes doesn't notify people who commented / reviewed a PR previously, when you (force) push commits. If you have addressed the reviews you can [officially ask for a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from those who commented to you or anyone else. 1. If it is unfinished but you plan to finish it, please mark it as a draft.
2. If it is unfinished but you plan to finish it, please mark it as a draft. 1. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work.
3. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work. 1. To get things rolling again, rebase the PR against the target branch and address valid comments.
4. To get things rolling again, rebase the PR against the target branch and address valid comments. 1. If you need a review to move forward, ask in [Discord](https://determinate.systems/discord).
5. If you need a review to move forward, ask in [the Discourse thread for PRs that need help](https://discourse.nixos.org/t/prs-in-distress/3604).
6. If all you need is a merge, check the git history to find and [request reviews](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from people who usually merge related contributions.
## Suggestions for issues ## Suggestions for issues
1. If it is resolved (either for you personally, or in general), please consider closing it. 1. If it is resolved (either for you personally, or in general), please consider closing it.
2. If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough. 2. If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough.
3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [our Discourse Forum](https://discourse.nixos.org/). 3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [Discord](https://determinate.systems/discord).
4. As with all open source projects, your best option is to submit a Pull Request that addresses this issue. We :heart: this attitude!
**Memorandum on closing issues** **Memorandum on closing issues**
Don't be afraid to close an issue that holds valuable information. Closed issues stay in the system for people to search, read, cross-reference, or even reopen--nothing is lost! Closing obsolete issues is an important way to help maintainers focus their time and effort. Don't be afraid to close an issue that holds valuable information. Closed issues stay in the system for people to search, read, cross-reference, or even reopen--nothing is lost! Closing obsolete issues is an important way to help maintainers focus their time and effort.
## Useful GitHub search queries
- [Open PRs with any stale-bot interaction](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open PRs with any stale-bot interaction and `stale`](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%22stale%22)
- [Open PRs with any stale-bot interaction and NOT `stale`](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%22stale%22+)
- [Open Issues with any stale-bot interaction](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open Issues with any stale-bot interaction and `stale`](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%22stale%22+)
- [Open Issues with any stale-bot interaction and NOT `stale`](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%22stale%22+)

68
.github/release-notes.sh vendored Executable file
View file

@ -0,0 +1,68 @@
#!/usr/bin/env bash
# SC2002 disables "useless cat" warnings.
# I prefer pipelines that start with an explicit input, and go from there.
# Overly fussy.
# shellcheck disable=SC2002
scratch=$(mktemp -d -t tmp.XXXXXXXXXX)
finish() {
rm -rf "$scratch"
}
trap finish EXIT
DATE=$(date +%Y-%m-%d)
DETERMINATE_NIX_VERSION=$(cat .version-determinate)
TAG_NAME="v${DETERMINATE_NIX_VERSION}"
NIX_VERSION=$(cat .version)
NIX_VERSION_MAJOR_MINOR=$(echo "$NIX_VERSION" | cut -d. -f1,2)
GITHUB_REPOSITORY="${GITHUB_REPOSITORY:-DeterminateSystems/nix-src}"
gh api "/repos/${GITHUB_REPOSITORY}/releases/generate-notes" \
-f "tag_name=${TAG_NAME}" > "$scratch/notes.json"
trim_trailing_newlines() {
local text
text="$(cat)"
echo -n "${text//$'\n'}"
}
linkify_gh() {
sed \
-e 's!\(https://github.com/DeterminateSystems/nix-src/\(pull\|issue\)/\([[:digit:]]\+\)\)![DeterminateSystems/nix-src#\3](\1)!' \
-e 's#\(https://github.com/DeterminateSystems/nix-src/compare/\([^ ]\+\)\)#[\2](\1)#'
}
(
cat doc/manual/source/release-notes-determinate/changes.md \
| sed 's/^.*\(<!-- differences -->\)$/This section lists the differences between upstream Nix '"$NIX_VERSION_MAJOR_MINOR"' and Determinate Nix '"$DETERMINATE_NIX_VERSION"'.\1/' \
printf "\n<!-- Determinate Nix version %s -->\n" "$DETERMINATE_NIX_VERSION"
cat "$scratch/notes.json" \
| jq -r .body \
| grep -v '^#' \
| grep -v "Full Changelog" \
| trim_trailing_newlines \
| sed -e 's/^\* /\n* /' \
| linkify_gh
) > "$scratch/changes.md"
(
printf "# Release %s (%s)\n\n" \
"$DETERMINATE_NIX_VERSION" \
"$DATE"
printf "* Based on [upstream Nix %s](../release-notes/rl-%s.md).\n\n" \
"$NIX_VERSION" \
"$NIX_VERSION_MAJOR_MINOR"
cat "$scratch/notes.json" | jq -r .body | linkify_gh
) > "$scratch/rl.md"
(
cat doc/manual/source/SUMMARY.md.in \
| sed 's/\(<!-- next -->\)$/\1\n - [Release '"$DETERMINATE_NIX_VERSION"' ('"$DATE"')](release-notes-determinate\/rl-'"$DETERMINATE_NIX_VERSION"'.md)/'
) > "$scratch/summary.md"
mv "$scratch/changes.md" doc/manual/source/release-notes-determinate/changes.md
mv "$scratch/rl.md" "doc/manual/source/release-notes-determinate/rl-${DETERMINATE_NIX_VERSION}.md"
mv "$scratch/summary.md" doc/manual/source/SUMMARY.md.in

View file

@ -26,4 +26,6 @@ jobs:
extra-commands-early: | extra-commands-early: |
echo ${{ inputs.version }} > .version-determinate echo ${{ inputs.version }} > .version-determinate
git add .version-determinate git add .version-determinate
./.github/release-notes.sh
git add doc
git commit -m "Set .version-determinate to ${{ inputs.version }}" || true git commit -m "Set .version-determinate to ${{ inputs.version }}" || true

View file

@ -127,7 +127,7 @@
- [Experimental Features](development/experimental-features.md) - [Experimental Features](development/experimental-features.md)
- [Contributing](development/contributing.md) - [Contributing](development/contributing.md)
- [Determinate Nix Release Notes](release-notes-determinate/index.md) - [Determinate Nix Release Notes](release-notes-determinate/index.md)
- [Changes between Nix and Determinate Nix](release-notes-determinate/changes.md) - [Changes between Nix and Determinate Nix](release-notes-determinate/changes.md)<!-- next -->
- [Release 3.4.0 (2025-04-25)](release-notes-determinate/rl-3.4.0.md) - [Release 3.4.0 (2025-04-25)](release-notes-determinate/rl-3.4.0.md)
- [Release 3.3.0 (2025-04-11)](release-notes-determinate/rl-3.3.0.md) - [Release 3.3.0 (2025-04-11)](release-notes-determinate/rl-3.3.0.md)
- [Release 3.1.0 (2025-03-27)](release-notes-determinate/rl-3.1.0.md) - [Release 3.1.0 (2025-03-27)](release-notes-determinate/rl-3.1.0.md)

View file

@ -1,6 +1,6 @@
# Changes between Nix and Determinate Nix # Changes between Nix and Determinate Nix
This section lists the differences between upstream Nix 2.24 and Determinate Nix 3.4.0. This section lists the differences between upstream Nix 2.24 and Determinate Nix 3.4.0.<!-- differences -->
* In Determinate Nix, flakes are stable. You no longer need to enable the `flakes` experimental feature. * In Determinate Nix, flakes are stable. You no longer need to enable the `flakes` experimental feature.