| 20 Mar 2024 |
Philip Taron (UTC-8) | Yeah, I think that's covered by the move to a separate repo. | 23:03:26 |
infinisil | Oh it's here: https://github.com/NixOS/nixpkgs/tree/master/pkgs/test/nixpkgs-check-by-name/scripts#update-pinned-toolsh | 23:03:37 |
infinisil | See the "Why not just build the tooling right from the PRs Nixpkgs version?" part | 23:03:46 |
Philip Taron (UTC-8) | OK, those are pretty compelling. | 23:04:21 |
infinisil | Oh what would work is to also pin the Nixpkgs version for the tool | 23:05:14 |
infinisil | So it's (import pinnedNixpkgs {}).callPackage instead of pkgs.callPackage | 23:05:38 |
infinisil | Well you'd still need to have it be cached somewhere though.. | 23:06:19 |
Philip Taron (UTC-8) | We can do a three-step release process.
- Validate in the check-by-name repo; make a release.
- Update nixpkgs repo with the new release; wait for it to make its way into the cache.
- Update the pin to the nixpkgs-built version.
That's lame and laborious, but it's all-cache-no-brakes.
| 23:08:20 |
infinisil | Part of the reason I wanted to move it to a separate repo was to have a separate Hydra jobset, such that we didn't need to wait for channel updates 😅 | 23:09:19 |
infinisil | Using GitHub releases as a cache (I guess it's not a cache then really, just a build artifacts storage) sounds decent | 23:10:51 |
infinisil | It should be possible with nix-store --export without too much trouble | 23:11:21 |
Philip Taron (UTC-8) | 🫰 | 23:11:37 |
Philip Taron (UTC-8) | * 🤞 | 23:11:57 |
infinisil | Lol I was wondering about that emoji haha | 23:12:17 |
Philip Taron (UTC-8) | Wrong hand gesture. 😬 | 23:12:31 |
Philip Taron (UTC-8) | Crossed something! | 23:12:45 |
infinisil | Oh and if we use GitHub releases to do the distribution, it also makes sense to pin it to the release instead of the store path | 23:13:42 |
Philip Taron (UTC-8) | Yes. | 23:13:50 |
infinisil | One minor problem: It's non-trivial like this to allow people to run it locally | 23:14:37 |
Philip Taron (UTC-8) | How so? It' | 23:15:04 |
Philip Taron (UTC-8) | * How so? | 23:15:09 |
infinisil | Oh yeah should be fine, we can just do full nix-build's then and not worry about fetching pre-built paths | 23:15:41 |
Philip Taron (UTC-8) | Yeah. | 23:15:46 |
Philip Taron (UTC-8) | People can pay for it. | 23:16:08 |
Philip Taron (UTC-8) | CI doesn't want to. | 23:16:14 |
infinisil | Haha yes | 23:16:33 |
infinisil | Okay so, I guess the next thing to do is to have some automated release process that creates the artifacts, I'll look into that | 23:17:02 |
Philip Taron (UTC-8) | Take a look at this repo: https://github.com/sorairolake/qrtool | 23:17:39 |
Philip Taron (UTC-8) | I see that it's being released by github-actions, which is what we want, I think. | 23:19:20 |
infinisil | Yeah sounds good, it's using https://github.com/softprops/action-gh-release | 23:19:54 |