-
Notifications
You must be signed in to change notification settings - Fork 12
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
Nix flake updates #365
Nix flake updates #365
Conversation
So I am currently reviewing the PR. How do I get a local version using nix shell? I ran
This functionality currently works on master (for me at least).
Also, |
Ah, that was my bad. I was only referencing the dirty revision when I should have been referencing both versions. I just pushed a fix, we can discuss during our meeting later. |
|
Interesting... I did find a fault with my code where the hash was incorrect for dealii 9.5.2 and it caused the build to fail before it ever got to that point, so I'm curious how it even got to the build phase for you. After fixing that hash and building (force push incoming in a bit), it built for me fine. Those logs that you posted only seem to show warnings, so I don't think any of that output is the actual error there. If I had to guess, two things might have caused your build to fail:
Try again with my hash fix and see if that fixes it. If not, we can dive into it a bit more. |
I also went ahead and updated the docs with instructions for how to use the cache. Let me know if it makes sense or not. |
Removing those gives
which I guess is fine. Whether |
Also, I put together a small github action and it's failing for mac os x. I'll drop os x for now, but maybe it should be revisited in the future. It's currently not failing for a compile build failure, but it will be a can of worms. |
Hmm, I've never messed too much with flake checks. I can remove the If I recall correctly, the main point of contention is that it only checks the builtin schema with no customization point for specifying your schema. For example,
Oh, apparently gdb is marked as incompatible with MacOS. If I just move it to the 'linux-only' part of the shell attributes, it should work again. I'll add that to those other fixes. |
Is the cache for mdfbaam up to date with current head (on this branch)? I'm running the github action using the install-nix action, which is supposed to add the trusted user to the nix config (I'm assuming this is good enough to get the cache). However, it doesn't seem to be pulling in the cached binaries, but rebuilding everything slowly. The Cachix Action has the ability to pull from Cachix as well if the magic config in the flake doesn't work, but it should work. |
I can get cached binaries with,
which is fine so don't worry. |
Ah, I had the attribute in the wrong place... it's not an output but rather a top-level attribute. Fixed! |
I just went ahead and built 1.0 and the current tip of my branch, so both of these (plus dependencies) should be able to be pulled from the cache now. |
I added a PR into your nix-flake branch for the github action. |
@Rombur: I'm totally happy with this PR at this point |
One thing. Are the tests actually being run on the build? |
I knew I was forgetting something... added It might be worth our time to integrate the tests via nix since all tests are being built either way - it's just a matter of removing the |
For sure. Leave it for another PR. Let's get this merged if @Rombur is ok with it. As long as one test runs that's fine. |
2105c1d
to
3ee6458
Compare
Should make targets like `make install` work now.
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.
Looks good thanks. I'll merge the PR once the workflow tests are done
The macos build failed. I don't why there is an issue with macos but not for ubuntu |
Interesting... seems unhappy with the test for some reason, something related to MPI? It's hard to tell without the full logs. I can just guard the tests with a not-macos check and avoid running them there so at least it compiles. Or we can just remove the mac test all together? What do you think @wd15? |
Maybe related: NixOS/nixpkgs#376951 Edit: just pushed up a bump to the nixpkgs version since the fix for this has been backported, let's see if that resolves the darwin build. |
Also fixes some dealii build warnings
I noticed that the macos build is still building the derivations and not pulling from Cachix. The ubuntu build doesn't seem to have that issue. |
Yeah, that's expected. So far I've been manually populating that cache whenever I push a build up. I only have Linux computers so I haven't been building and caching derivations for macos. It would be good to setup a pipeline that builds closures and caches for linux/darwin/x86/arm eventually. |
Actually, that's just another step in the GitHub Action, you'd have to add your private Cachix key to the GitHub Action secrets. That action would have to run on the central repository only and wouldn't run on a pull-request so two slightly different workflows would be required I think that run on different triggers. I have one for another project that does it. Will port it over and ping you at some point. |
Split out of #364.
Specifically deals with the changes to the build configuration and Nix files.
callPackage
pattern.nix run github:adamantine-sim/adamantine/1.0
).v1.0
is completely obsolete we should probably keep the.versions
schema.source/CMakeLists.txt
now defines adamantine as a object library to avoid un-necessary linking.application/CMakeLists.txt
now specifies an install, somake install
works, useful for Nix tooling.