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

Release 21.11 #147

Merged
merged 10 commits into from
Dec 11, 2021
Merged

Release 21.11 #147

merged 10 commits into from
Dec 11, 2021

Conversation

Gerschtli
Copy link
Collaborator

I prepared the release for 21.11, but for updating nixpkgs version there was an error because pkgs/top-level/static.nix was removed in NixOS/nixpkgs@3edba5e. I do not know that much about this cross-compiling stuff, will have a look at it but I am not sure if I am able to solve this.

@Gerschtli Gerschtli requested a review from t184256 December 5, 2021 15:31
@t184256
Copy link
Collaborator

t184256 commented Dec 5, 2021

Awesome, I'll definitely have a look next week!

@t184256
Copy link
Collaborator

t184256 commented Dec 6, 2021

Got a minute to look at it. NixOS/nix@5740924#diff-112352307fc4c615843e2a683ed2dd10d73556e1c32932e0545270317d8fbe31 seems to turn pthreads initialization from warning to an error, breaking db initialization inside nix-directory.

But, this made me wonder, was it really necessary to use the target nix for it? Could we instead proot -b-mount pkgsStatic.nix someplace into the nix-directory building environment and use that to init? If yes, we're trading the hackily pulled in qemu-user binary for a pkgsStatic.nix.

I'll try that today or tomorrow if you don't get to it first.

@t184256
Copy link
Collaborator

t184256 commented Dec 8, 2021

there was an error because pkgs/top-level/static.nix was removed in NixOS/nixpkgs@3edba5e

I believe it was an overlay of hacks to make stuff link statically, not having it is not alarming.

I do not know that much about this cross-compiling stuff, will have a look at it but I am not sure if I am able to solve this.

It sure looks like you've succeeded =)

@t184256
Copy link
Collaborator

t184256 commented Dec 8, 2021

OK, today I'm stopping at experimental Nix feature 'nix-command' is disabled during bootstrap; most likely nix build in login inner meets one of the Nix 2.4 breakages.

@Gerschtli
Copy link
Collaborator Author

Oh right, because also the nix-on-droid script uses the new nix command, this feature should be enabled per default.

@Gerschtli
Copy link
Collaborator Author

I think the main question is: Do we want to use nix 2.4 as default or stick with nix 2.3 as nixpkgs-stable defaults to. Maybe it would be easier to keep it at nix 2.3 for now and document (or implement it by default) that experimental-features = nix-command needs to be enabled.

@t184256
Copy link
Collaborator

t184256 commented Dec 9, 2021

Oh, so they did revert it in the end? If so, then it makes sense to follow suite.

@Gerschtli
Copy link
Collaborator Author

Yes, so I removed the nix update but added support if someone wants to enable nix 2.4 so that nix-on-droid script still works.

@Gerschtli Gerschtli marked this pull request as ready for review December 9, 2021 19:59
@t184256
Copy link
Collaborator

t184256 commented Dec 9, 2021

Installs fine now. My next steps are, I guess, a rebase of the tests PR on top of this, testing and careful reading. Got any more plans for the release?

@Gerschtli
Copy link
Collaborator Author

No, that would be all for this PR.

@Gerschtli
Copy link
Collaborator Author

Maybe adding a test for nix 2.4 with non flake setup would be worth it if you are on it.

@Gerschtli
Copy link
Collaborator Author

One thing came to my mind: Maybe this would be a good opportunity to get rid of these assertions in the home-manager module, asserting a newer version of nixpkgs and home-manager than 19.09.

@@ -75,6 +91,7 @@ in
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-on-droid.cachix.org-1:56snoMJTXmDRC1Ei24CmKoUqvHJ9XCp+nidK7qkMQrU="
];
experimentalFeatures = mkIf (versionAtLeast cfg.package.version "2.4") [ "nix-command" ];
Copy link
Collaborator

Choose a reason for hiding this comment

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

https://nixos.org/manual/nix/stable/command-ref/conf-file.html says it's enabled by default in stable (2.4), do we still need to worry about it?

Copy link
Collaborator

Choose a reason for hiding this comment

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

or is this exactly why we have to worry about it? =)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fun fact: Yesterday the default was 0, I wondered what that meant.. Seemed to be a bug in the documentation :D Then we definitely do not need this, I will remove it.

This allows evaluation of configurations where nixpkgs.* options are
used even when in a flake setup with unchanged default values.
Copy link
Collaborator

@t184256 t184256 left a comment

Choose a reason for hiding this comment

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

I believe it's fine. Thanks for your work, much appreciated!

@t184256 t184256 merged commit 8972fbf into nix-community:master Dec 11, 2021
@Gerschtli Gerschtli deleted the release-21.11 branch December 11, 2021 22:07
@Gerschtli
Copy link
Collaborator Author

Gerschtli commented Dec 12, 2021

Please do not forget to push the new bootstrap to https://nix-on-droid.unboiled.info/ :)

And the default zipball location in the android app should not point to 20.09. Should we write a short file to document all manual steps for a release? Looks like a lot of things to think about.

@Gerschtli
Copy link
Collaborator Author

In case you didn't see my comment, ping @t184256 :)

@t184256
Copy link
Collaborator

t184256 commented Dec 14, 2021

I do remember, I haven't actually tagged 21.11 yet. I planned to also pick up #150, #153 maybe, some assorted fixes to README and dropping i686. And if you plan any more exciting stuff, please warn me, I like our current practice of big releases and backporting basically never.

@Gerschtli
Copy link
Collaborator Author

Just to be clear, we never tag and only create branches for the release from that commit where we drop support for the old nixpkgs and home-manager releases, at least that was my understanding. So I think branching release-21.11 off starting with b30833b (removal of make workaround -> breaking change) would be a good idea.

Wait, I just noticed that our branches are a bit confusing :D So currently after releasing the version, the release branch does not get any updates? This forces every user to follow master if they want updates more often than the nixpkgs releases. Didn't realise that until now. It works for the current (I would estimate) small user base of nix-on-droid, but maybe it needs some refinement in the future.

So either way, let's stay with the release idea.

I like the idea to drop i686, reduces development overhead. I think we could give the changelog a bit more love, but other than that I think the release looks complete.

How do you think about keeping track and gathering bigger things we want to accomplish? I saw that github has some kind of a ticket board (trello like), or maybe we use the discussions for that. Because sometimes I have so many ideas and want to write them down somewhere, I think that would help sync ourselves to common goals or to plan things better.

BTW: I love working on this project with you, always makes a lot of fun to see what we creating here :)

@t184256
Copy link
Collaborator

t184256 commented Dec 14, 2021

Just to be clear, we never tag and only create branches for the release

True; wrong term; my bad. I meant that I like our branches mostly-immovable (and mostly-fast-forwarding-when-we-do-move-them).

from that commit where we drop support for the old nixpkgs and home-manager releases, at least that was my understanding

I didn't know we had a system =) Mine was way less defined: "release preparation activity dies down, I create the branch and update app".

the release branch does not get any updates?

I think we sometimes merge --ff-only really innocent things, but when the first major thing lands, the branch stops advancing and we tell people to use master.

This forces every user to follow master if they want updates more often than the nixpkgs releases. Didn't realise that until now. It works for the current (I would estimate) small user base of nix-on-droid, but maybe it needs some refinement in the future.

I'd say it works for our model of dropping big changes around nixpkgs release time.

How do you think about keeping track and gathering bigger things we want to accomplish? I saw that github has some kind of a ticket board (trello like), or maybe we use the discussions for that. Because sometimes I have so many ideas and want to write them down somewhere, I think that would help sync ourselves to common goals or to plan things better.

Sounds good, would be more helpful than syncing plans in MR comments. I think we had a discussion for such planning once, and this makes even more sense than that.

BTW: I love working on this project with you, always makes a lot of fun to see what we creating here :)

Thanks, the feeling is mutual, and I dare say it won't move even at a quarter of its current pace if it were not for you. I have a secret plan to up my Nix game this winter, so hope I'll be of more use after that.

@Gerschtli
Copy link
Collaborator Author

I agree, the way we handle releases is fine and communicated correctly.

I think we had a discussion for such planning once, and this makes even more sense than that.

So you are in favor of this board or of the discussions feature of github? I would be fine with both, I never worked with either of them.

Thanks, the feeling is mutual, and I dare say it won't move even at a quarter of its current pace if it were not for you. I have a secret plan to up my Nix game this winter, so hope I'll be of more use after that.

Thank you, sometimes it feels like I create multiple big PRs in a week and then a couple of months nothing, but you are always fast in regards of reviews and responses. Whatever "to up my Nix game" is but it sounds promising. Flakifying my whole setup was the motivation I needed to get my hands dirty again on this project :)

@t184256
Copy link
Collaborator

t184256 commented Dec 15, 2021

Tried some fancy board thing, let's see how useful it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants