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

haskell-updates: add documentation for workflow #122728

Merged

Conversation

cdepillabout
Copy link
Member

@cdepillabout cdepillabout commented May 12, 2021

This some documentation for is the workflow for the haskell-updates branch. This would mostly be a reference for @maralorn, @sternenseemann, and me. This would also be useful if someone else joined the nixpkgs haskell maintainer group.

I welcome any bikeshedding on what to name this document or where to put it.

This document will mostly be based on the comment from @maralorn in #122510 (comment).

This is related to #121403.


Rendered

@cdepillabout
Copy link
Member Author

I plan on continuing to update this document while I work on getting #122719 ready to merge in. I will try to document everything I do in detail.

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels May 12, 2021
@cdepillabout cdepillabout marked this pull request as ready for review May 27, 2021 12:50
@cdepillabout
Copy link
Member Author

This should be ready for review.

I'd especially appreciate reviews from @maralorn and @sternenseemann. Feel free to rewrite/add anything.

Comment on lines +182 to +184
### Additional Info

Here are some additional tips that didn't fit in above.
Copy link
Member Author

Choose a reason for hiding this comment

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

At some point I'd like to add a section about marking packages broken on architectures other than x86_64-linux, but since we haven't really come to a conclusion on what to do about that, I haven't added it to this document.

Comment on lines +226 to +229
## Contributor Workflow

(TODO: this section is to describe the type of workflow for non-committers to
contribute to `haskell-updates`)
Copy link
Member Author

Choose a reason for hiding this comment

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

I plan on trying to write this at some point in the future.

Possibly either during Zurihac, or the next time it is my turn to take care of the haskell-updates workflow.

Copy link
Member

Choose a reason for hiding this comment

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

We should probably move the contributor workflow to the nixpkgs manual as well then. Not sure if the maintainer workflow belongs there though (probably not, as similar documentation like the release manager documentation is also managed separately)

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't really like the "out of sight, out of mind" quality of the nixpkgs manual. I think it is way too easy not to update documentation when it doesn't live near the code.

However, I agree that it probably does make the most sense for the contributor workflow to live there.

@maralorn
Copy link
Member

Do you want this to be merged now? I would be okay with saving this and improving on it. In the future we definitely need a consistent concept on how this documentation relates to the manual.

Copy link
Member

@sternenseemann sternenseemann left a comment

Choose a reason for hiding this comment

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

Thanks for doing this! I like the step-by-step descriptions, I think this will be helpful in the future.

Comment on lines +226 to +229
## Contributor Workflow

(TODO: this section is to describe the type of workflow for non-committers to
contribute to `haskell-updates`)
Copy link
Member

Choose a reason for hiding this comment

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

We should probably move the contributor workflow to the nixpkgs manual as well then. Not sure if the maintainer workflow belongs there though (probably not, as similar documentation like the release manager documentation is also managed separately)

pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
merging the `haskell-updates` branch into `master`.

The goal of this workflow is to regularly merge the `haskell-updates` branch
into the `master` branch, while making sure there are no evaluation errors or
Copy link
Member

Choose a reason for hiding this comment

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

I'd clarify this: A broken package technically fails to evaluate. I guess the main properties are currently:

  • No inacceptable regressions in terms of build failures (maintained, mergeable, ...)
  • No non-broken package that fails to build (on x86_64-linux)

Might've missed something?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think this necessarily needs to be clarified in the overview here.

However, below there is a section called "Merge haskell-updates into master". It explains that all Haskell packages that fail to build should be marked broken, as well mentioning the maintained and mergeable jobs.

I'm going to go ahead and merge this in, but if you want to clean up that section (or even this overview/introduction), please feel free to either leave a message here or just commit directly to haskell-updates.

pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
- The maintainers for any maintained Haskell packages that are newly broken
have been pinged on GitHub and given at least a week to fix their packages.
This is especially important for widely-used packages like `cachix`.

Copy link
Member

Choose a reason for hiding this comment

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

As per yesterday's discussion, we should make it a point here to merge master into haskell-updates and waiting for the rebuilds to finish before merging the PR.

Copy link
Member

Choose a reason for hiding this comment

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

Especially since I realized: Merging in master and hitting "eval" on hydra and seeing if anything new happens is really only a matter of a few minutes. I think we can afford to do that on every merge.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've rearranged this in adfec8b. Hopefully it is somewhat more clear now.

pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
@cdepillabout
Copy link
Member Author

cdepillabout commented May 28, 2021

Note to myself: probably should also add a explanation of running update-cabal2nix-unstable and when it is helpful to do so. @maralorn's comment reminded me of this: #124593 (comment)

Another note: probably should add a comment that we all hang out on Matrix.

@cdepillabout
Copy link
Member Author

cdepillabout commented May 30, 2021

Note to myself: probably should also add a explanation of running update-cabal2nix-unstable and when it is helpful to do so. @maralorn's comment reminded me of this: #124593 (comment)

Another note: probably should add a comment that we all hang out on Matrix.

I've done this in commit 95e7f26.


I'm going to go ahead and merge this in, but if you guys want to comment on or fix up anything else, please continue to leave comments here and I will commit changes to this document directly to the haskell-updates branch. Or, definitely feel free to just commit changes directly yourselves!

@cdepillabout cdepillabout merged commit 718ab6d into NixOS:haskell-updates May 30, 2021
@cdepillabout cdepillabout deleted the haskell-updates-workflow branch May 30, 2021 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: haskell 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants