Skip to content
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

[RFC 0015] NixOS Release Managers #15

Merged
merged 1 commit into from
Jul 31, 2017
Merged

Conversation

globin
Copy link
Member

@globin globin commented Jul 17, 2017

appoint a new RM.

This makes sure a RM team always consists of one RM who already has
managed one release and one RM being introduced to his role, making
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"their" would be better.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@shlevy
Copy link
Member

shlevy commented Jul 18, 2017

No strong opinions on this one

@globin globin changed the title [RFC 0015] NixOS Release Managers (#15) [RFC 0015] NixOS Release Managers Jul 18, 2017
few releases a process has been established and
[documented](https://nixos.org/nixos/manual/index.html#release-process).
As this makes it easier to cut a release this role should be passed on
regularly and not be held by a single individual over a longer time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What problem does it solve? Is it hard to find a release manager, is there too much demand, ...

Copy link
Member

@zimbatm zimbatm Jul 19, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note I'm not against it, just wondering what the formalization would bring. EDIT: nevermind

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside from influence you also make sure that knowledge spreads. If one person keeps a role for a long time, they may not document it as well because its not relevant for others. Furthermore, it may improve connectivity with the community if it is seen that such role isn't limited to "just a few".

These are some potential arguments.

Copy link
Member

@fpletz fpletz Jul 19, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, when we thought of this we had @FRidh's arguments in mind. I think there can always be small deviations from the rule if necessary. For instance, if a release manager can't continue her duties due to illness or other unforeseen circumstances, other people like preferably previous release mangers should be able to take over. We didn't want to specify this in detail but only give a rough proposal how the position should be filled. The important thing for us is that we have a new release manager for every release and a previous release manager for support.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, I think it's a really good idea. Agreed on not complicating things too much.

Copy link
Member

@zimbatm zimbatm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Is simple enough and we can always amend later.

The only thing that I would ask it to copy the design section into the NixOS manual as the RFC are only Requests for change and not canonical source of truth.

There is more communicational overhead but by having a second RM
two individuals are checking the issues from a RM's point of view.
Additionally it ensures that there is always one
RM with the experience of having released NixOS once before.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the communication only oral / text or are there written documents that describe the process?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The release process is roughly documented in the NixOS manual: https://nixos.org/nixos/manual/index.html#release-process

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. I think that would be the perfect place to insert the election system proposed in this RFC as well.

Maybe we can add a note saying that it's the responsibility of the release manager to maintain that section of the documentation.

@rbvermaa
Copy link
Member

Sounds good to me.

@zimbatm
Copy link
Member

zimbatm commented Jul 31, 2017

Merging as no objections have been raised.

Please make sure to implement the documentation changes!

@zimbatm zimbatm merged commit aa1201a into NixOS:master Jul 31, 2017
@globin globin deleted the release-manager branch October 26, 2019 09:02
infinisil referenced this pull request in nixpkgs-architecture/rfc-140 Jan 30, 2023
piegamesde pushed a commit to piegamesde/rfcs-1 that referenced this pull request Jan 31, 2024
* Various improvements

- Remove unnecessary **Description** headers
- Rename **Rationale and Alternatives** to just **Alternatives**
- Insert must/may/should more diligently
- Add some TODOs where things are unclear
- Remove numberings from examples when not needed
- Minor clarity improvements and simplifications throughout

* Apply suggestions from code review

Co-authored-by: Ryan Hendrickson <[email protected]>

---------

Co-authored-by: Ryan Hendrickson <[email protected]>
infinisil added a commit that referenced this pull request Mar 5, 2024
* 166: Nix formatting

Create 0101-nix-formatting.md

WIP

Go through a large part and agree on it

Co-Authored-By: @piegamesde

Update 0101-nix-formatting.md

Rework a lot of things

Update 0101-nix-formatting.md

Move around some sections

Reword the detailed section

Minor updates

Slight header changes again

Updates

Update 0101-nix-formatting.md

Update after today's meeting

Update 0101-nix-formatting.md

Further updates in the meeting

Update 0101-nix-formatting.md

After todays meeting

Update after meeting

Rename to probably the right number

Only use anchor links

Improvements and additions

- The sub-expression rule is now reworded and its own section with
  examples and rationale
- Line length limit is now specified as we agreed-upon in the meeting
- The operator section is rewritten to align more with the consensus

Redo and explain operator special case

Also remove the special case for non-chainable operators, barely any benefit
in Nixpkgs

* Operator chains outside bindings can also have a compact form

* Make the operator compact form specific to binders

* Fix accidentally formatted semicolons in alternatives

* Minor changes

* Light copy editing

* Fix .git-blame-ignore-revs

* Improve assert/with wording

* Be more flexible with single-line element count

* binder -> binding

* unindent inherit semicolon, reshuffle binding/inherit sections (#14)

* unindent inherit semicolon, reshuffle binding/inherit sections

* fixup! Stuff

* Give alternatives to `in` formatting

* Expand on line break preservation

* Add editorconfig

* Expand argumentation against leading commas

* Add @dasJ to the formatter team

* Add shepherd team

Co-authored-by: Linus Heckemann <[email protected]>

* Various improvements (#15)

* Various improvements

- Remove unnecessary **Description** headers
- Rename **Rationale and Alternatives** to just **Alternatives**
- Insert must/may/should more diligently
- Add some TODOs where things are unclear
- Remove numberings from examples when not needed
- Minor clarity improvements and simplifications throughout

* Apply suggestions from code review

Co-authored-by: Ryan Hendrickson <[email protected]>

---------

Co-authored-by: Ryan Hendrickson <[email protected]>

* Address TODOs and rework with/assert

* Minor adjustments

* Mention formatting Nix code in documentation

* Working towards finalization (#16)

- Defined absorption and absorbable terms
- Adapted the existing RFC text to make use of these definitions,
  resulting in simplications of the text in many cases.
- Updated `with` section to match the implementation
- Updated the function declaration section to match the implementation
  - Sometimes, the function body may get absorbed
  - This used to be a special case scoped to bindings only, so it got removed there
- Updated the operators section to match the implementation
  - Specify the format of non-chainable operators (somehow those got lost in the past)
- Reworked bindings section. It should now be clear and specific enough.
- Minor wording fixes

* String section

* Specify assert conditions

* More absorption for multi-line arguments

* How to update the standard format

* Fix minor typos

* Less lines for common function call patterns

* Specify comments

* Specify that the formatter should be as pure as possible

With some exceptions

* nit: fix list concatenation example (#17)

* Update rfcs/0166-nix-formatting.md

Co-authored-by: Doron Behar <[email protected]>

* Add good indentation examples (#18)

* Add another chainable operators example

* justify difference in semicolon placement

* Allow different parenthesized argument style

* Clarify non-vertical alignment rule

* Improved clarity of bindings rule

* Improve bindings semicolon alternatives section

---------

Co-authored-by: Silvan Mosberger <[email protected]>
Co-authored-by: Silvan Mosberger <[email protected]>
Co-authored-by: Ryan Hendrickson <[email protected]>
Co-authored-by: Yuriy Taraday <[email protected]>
Co-authored-by: Linus Heckemann <[email protected]>
Co-authored-by: Janne Heß <[email protected]>
Co-authored-by: Doron Behar <[email protected]>
KAction pushed a commit to KAction/rfcs that referenced this pull request Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants