feat: add nix-eval workflow for cross-platform flake evaluation#12175
feat: add nix-eval workflow for cross-platform flake evaluation#12175jerome-benoit wants to merge 6 commits intoanomalyco:devfrom
Conversation
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
The following comment was made by an LLM, it may be inaccurate: No duplicate PRs found |
There was a problem hiding this comment.
Pull request overview
This PR replaces the old (disabled) Nix desktop build workflow with a lightweight, cross-platform flake evaluation workflow to catch evaluation-time issues (like missing outputHashes) earlier and more cheaply.
Changes:
- Add
.github/workflows/nix-eval.ymlto evaluateopencodeanddesktoppackages anddevShellsacross all four supported systems from a single Linux runner. - Remove the obsolete
.github/workflows/nix-desktop.yml.disabledworkflow that previously built the desktop package on multiple native runners.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/nix-eval.yml | New workflow that evaluates flake packages and devShells for all supported systems to detect evaluation-time Nix errors. |
| .github/workflows/nix-desktop.yml.disabled | Removes the old, disabled Nix desktop build workflow in favor of the new evaluation-based approach. |
Comments suppressed due to low confidence (1)
.github/workflows/nix-eval.yml:77
- Similar to the packages loop above, the same
nix evalis executed twice here on failure (once in theifcondition with output suppressed and again in theelsebranch). To avoid redundant and potentially expensive Nix evaluations, consider restructuring this logic so that each devShell is only evaluated once while still emitting the error details when it fails.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
So this shouldn't be merged, IMO. Nix does not guarantee correct hashes for other platforms (e.g. nix-darwin) on a linux-runner. This is a repeating issue as we go through a cycle of someone thinking we should just use a linux runner to calculate all the hashes--which may work for a release or two, but then breaks for a major upgrade and we have to reimplement the multiple build platform. I didn't mean to be rude, if it's interpreted that way, just a little frustrated by this cycle. |
You haven't actually read and understood the purpose of that PR:
A check of the flake.lock freshness, etc. is still missing. |
|
You're right that I misunderstood what you were doing. |
Replace
nix-desktop.ymlbuild workflow with lightweight cross-platform evaluation.opencode,desktop) and devShells for all 4 systemsoutputHashes, syntax errors, missing deps)Fixes #11755