Commit graph

68 commits

Author SHA1 Message Date
7a1054fa5f repl: improve :doc builtin repl command to support lambdas.
For a long time `nix repl` has supported displaying documentation set on
builtins, however, it has long been convention to use Markdown comments
on Nix functions themselves for documentation. This exposes that
information to `nix repl` users in a nice and formatted way.

NixOS/rfcs#145 doc-comments are primarily what this feature is intended
to consume, however, support for lambda documentation in the repl is
experimental. We do our best effort to support the RFC here.

These changes are based on [the nix-doc library](https://github.com/lf-/nix-doc) and
are licensed under the terms described in the relevant source files.

Change-Id: Ic6fe947d39a22540705d890737e336c4720b0a22
2024-04-03 13:47:22 -06:00
2a98ba8b97 Add pre-commit checks
The big ones here are `trim-trailing-whitespace` and `end-of-file-fixer`
(which makes sure that every file ends with exactly one newline
character).

Change-Id: Idca73b640883188f068f9903e013cf0d82aa1123
2024-03-29 22:57:40 -07:00
412a9c9f67 Enable clang build timing analysis
I didn't enable this by default for clang due to making the build time
10% worse or so. Unfortunate, but tbh devs for whom 10% of build time is
not *that* bad should probably simply enable this.

Change-Id: I8d1e5b6f3f76c649a4e2f115f534f7f97cee46e6
2024-03-27 03:52:57 +00:00
279e30e7ef build: replace changelog-d with local script
hacking changelog-d to support not just github but also forgejo and
gerrit is a lot more complicated than it's worth, even moreso since
the entire thing can just as well be done with ~60 lines of python.
this new script is also much cheaper to instantiate (being python),
so having it enabled in all shells is far less of a hassle.

we've also adjusted existing release notes that referenced a gerrit
cl to auto-link to the cl in question, making the diff a bit bigger

closes lix-project/lix#176

Change-Id: I8ba7dd0070aad9ba4474401731215fcf5d9d2130
2024-03-27 03:09:14 +00:00
33da9c09c8 Issue importer: do not notify
This uses the forgejo patch we have for dont_notify on issue creation on
the api, and indeed does not notify, so we can simply run the script
safely :D

Fixes: lix-project/web-services#38

Change-Id: I86bcbf9b4499b439b79b82af84ee7df0f8eb3298
2024-03-23 19:03:34 -07:00
81be5eb7c6 issue importer: list issues that are *not* closed when finding existing issues
Turns out also, you cannot set the queue to 0 with any success. So we
really should just like, prevent notifications in forgejo itself.

Filed a bug for that:
lix-project/web-services#38

Change-Id: Ib96749f3159659182904963cab7b2ef88fc64442
2024-03-18 18:14:31 -07:00
3392020710 Forgejo issue importer
We needed a script to go yoink all the real NixOS/Nix issues from our
mirror into the Lix repo.

Change-Id: If8c8ebfb58634c675eae450454c0189288c6b18a
2024-03-16 00:22:33 -07:00
e8a488236c Merge pull request #9393 from hercules-ci/changelog-d
Automatically compile hand-written release notes with `changelog-d`

(cherry picked from commit 928f0c13414d20c1af88b30bd6700fd730ee0bab)
Change-Id: Ia0685835c52edf185b64dd696b19305746c077e5
2024-03-04 07:11:19 +01:00
Valentin Gagarin
b6e74ea5a8
maintainers: add note on marking PRs as draft
as discussed with maintainers team
2023-06-19 10:55:34 +02:00
Eelco Dolstra
76e032bcf8 Upload the manual to releases.nixos.org
Fixes #8451.
2023-06-06 15:37:26 +02:00
Eelco Dolstra
d14f993a76 Fix MIME type 2023-06-06 14:03:24 +02:00
Eelco Dolstra
42e908a308 Upload fallback-paths.nix as part of the release
https://github.com/NixOS/nixpkgs/pull/235463
2023-06-06 13:56:43 +02:00
Eelco Dolstra
ebed259768 Bump version 2023-05-31 17:09:38 +02:00
Eelco Dolstra
f3a88857b4 maintainers/upload-release.pl: Don't update nix-fallback-paths.nix 2023-05-30 11:49:59 +02:00
Valentin Gagarin
feb2200ba6 use headings instead of list items
this allows easier linking and a provides a bit more visual clarity
2023-05-02 11:30:27 +02:00
Valentin Gagarin
521cca1840 add procedure for 'idea approved' label 2023-05-02 11:28:03 +02:00
Théophane Hufschmitt
1707e7ea5f
Merge pull request #7579 from fricklerhandwerk/review-process
review process: all PRs must be triaged
2023-04-05 01:57:17 +02:00
Valentin Gagarin
f912ab89cc only triage non-trivial pull requests
the team perceives triaging literally everything as too much overhead,
and there is a desire to allow for more parallel action.
2023-04-05 01:27:15 +02:00
Valentin Gagarin
6c651599b0 review process: all PRs must be triaged
in order to make the development process more transparent for everyone,
all pull requests should go through the triage process before getting
merged.

this ensures that all team members are aware of what is going on, and
that rationale for decisions is kept track of in the meeting notes for
posterity. (ideally all that should go into the commit history, but this
is a more invasive process change that needs further deliberation.)

having all team members take at least a brief but conscious look at each
change may also help with keeping our quality standards, as more
reviewers are more likely to remind each other of our shared values.
2023-03-28 11:51:57 +02:00
John Ericson
95dabbadd8 Prioritize testing in the maintainers process docs
PRs that don't increase our ongoing obligations (i.e. by adding new
features) but do increase test coverage of existing features are good
things to merge for the health of the project, and thus good to
prioritize.
2023-03-16 22:27:46 -04:00
Valentin Gagarin
d9f60ffb81
Merge pull request #7534 from fricklerhandwerk/maintainers-goals
add objectives and tasks for Nix team
2023-03-13 14:01:15 +01:00
Eelco Dolstra
02bf521968
Merge pull request #7580 from fricklerhandwerk/nix-team-add-john
add @Ericson2314 to the Nix team
2023-03-06 15:02:07 +01:00
Eelco Dolstra
378508a877 Bump version 2023-03-02 10:01:24 +01:00
Valentin Gagarin
164a5e2629 incorporate feedback from maintainers 2023-02-24 15:05:31 +01:00
Valentin Gagarin
a556143dc1 add objectives and tasks for Nix team
so far there were no even remotely measurable objectives, only a general
purpose statement.

this change is intended to focus the team's work on what I (and many
others I talked to) perceive to be the main pain point in the
development process.

Co-authored-by: solene.rapenne@tweag.io
2023-02-24 09:50:06 +01:00
Eelco Dolstra
92611e6e4c
Merge pull request #7412 from edolstra/release-process
Document the release process
2023-02-24 09:13:46 +01:00
Robert Hensing
40d8955b89
Apply suggestions from code review
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-02-08 00:24:28 +01:00
3272a2d26f maintainers: Document backporting quirk
Closes #7623
2023-01-18 12:16:27 +01:00
Valentin Gagarin
7de8af526e state priorities in triaging and discussion process
based on

- Nix team decisions
  https://discourse.nixos.org/t/2022-11-11-nix-team-meeting-minutes-7/23451#planning-discussion-1
  https://discourse.nixos.org/t/2022-12-02-nix-team-meeting-minutes-13/23731#discussion-3

- proposal to deal use labels more effectively

  https://discourse.nixos.org/t/improving-nix-developer-experience/21629

- documentation team decision to foster gauging interest using upvotes

  https://github.com/NixOS/nix/pull/7387
2023-01-12 19:33:41 +01:00
Robert Hensing
5c0d3b476f
release-process: Add "create a backport label" 2023-01-12 00:19:18 +01:00
Valentin Gagarin
2d0210472a add @Ericson2314 to the Nix team
John has been part of every meeting since the beginning.
He took on a lot of work on behalf of the team, and provided useful suggestions in discussions, advocating for stability, reasonable design decisions, and maintainable code.

He was in general highly productive within the team process, and repeatedly helped us to keep focus on our stated goals.
Specifically, early on he suggested to gather more experience with the team reviews in order derive our values for the project encode a more structured approach to guiding contributions, which is slowly bearing fruit these days.

John is already the contributor with the most code changes to date (only topped by principal author Eelco), and is well-known to be highly knowledgeable about both high-level design and low-level internals of the code base.
He has continued to offer high quality work during the team's operation, which resulted in many pull requests getting merged that further the team's goals.

It is due time for John to be come an official team member and be granted merge access that he will surely exercise with the great care he is known for.
2023-01-11 10:00:04 +01:00
Eelco Dolstra
6eed1325ff
Apply suggestions from code review
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-12 17:04:06 +01:00
Eelco Dolstra
acb69a7beb
Apply suggestions from code review
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-12-07 13:29:50 +01:00
Eelco Dolstra
27392a3b48 More tweaks 2022-12-06 17:46:42 +01:00
Eelco Dolstra
31e3c7d6fd Mention Discourse 2022-12-06 17:07:51 +01:00
Eelco Dolstra
758c2fdbfe
Update maintainers/release-process.md
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-12-06 15:27:45 +01:00
Eelco Dolstra
f2b9e1f8cb
Update maintainers/release-process.md
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-12-06 15:26:26 +01:00
Eelco Dolstra
98364a0df2 Mention milestone 2022-12-06 14:33:12 +01:00
Eelco Dolstra
aaef82e192 Document the release process 2022-12-06 14:12:05 +01:00
Eelco Dolstra
8fc9a4e583 Remove GPG-signing of releases
This makes it easier for others to make releases, and probably few
people care about GPG signatures anyway.
2022-12-06 14:00:38 +01:00
Eelco Dolstra
647e60b356
maintainers/README.md: Use CET 2022-12-05 16:35:25 +01:00
Eelco Dolstra
67d76cb8df
Fix typo 2022-12-05 16:34:39 +01:00
Valentin Gagarin
44dc5c6c13 reword 2022-11-21 15:13:19 +01:00
Valentin Gagarin
a4af966d5d add maintainers' handbook
write down the process we have been developing and following so far.

Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2022-11-21 14:35:01 +01:00
Eelco Dolstra
9bc03adbba
Integrate push-docker.sh into the release script
This also makes sure that we get the Docker images from the same Hydra
eval, rather than the latest build from job/nix/.../dockerImage, which
may not be the same.
2022-02-18 13:58:01 +01:00
Rok Garbas
f0de5fb8e7
remove the manifest before creating them 2022-02-18 00:32:38 +01:00
Rok Garbas
50a9c48db4
fail early 2022-01-26 10:05:33 +01:00
Rok Garbas
4fc3c4da7b
typo 2022-01-26 10:01:58 +01:00
Rok Garbas
1eac5a6bd0
Script to push docker image for releases 2022-01-26 09:22:51 +01:00
Eelco Dolstra
37b5460ebd
Update release script 2021-11-02 11:53:25 +01:00