-
Notifications
You must be signed in to change notification settings - Fork 9.8k
feat: add nix-eval workflow for cross-platform flake evaluation #12175
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
base: dev
Are you sure you want to change the base?
feat: add nix-eval workflow for cross-platform flake evaluation #12175
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
|
so is this one good to go? |
as long as you expect to have non blocking failures in the CI for opencode desktop because of #11755. The opencode nix package is now evaluated in the workflow. |
Replace
nix-desktop.ymlbuild workflow with lightweight cross-platform evaluation.opencode,desktop) and devShells for all 4 systemsoutputHashes, syntax errors, missing deps)Ref #11755