Skip to content

Adding a Nix build to the CI, reimplementing the python wheels build too#78

Merged
toastedcrumpets merged 38 commits intomasterfrom
nix
May 19, 2025
Merged

Adding a Nix build to the CI, reimplementing the python wheels build too#78
toastedcrumpets merged 38 commits intomasterfrom
nix

Conversation

@toastedcrumpets
Copy link
Copy Markdown
Collaborator

No description provided.

Copy link
Copy Markdown
Collaborator Author

@toastedcrumpets toastedcrumpets left a comment

Choose a reason for hiding this comment

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

No review needed.

@toastedcrumpets toastedcrumpets requested a review from Copilot May 19, 2025 20:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Adds a Nix-based build to the CI pipelines, reworks the Python wheels build, and standardizes Boost and OpenGL context handling on macOS.

  • Introduces derivation.nix/default.nix and updates CI jobs to run nix-build instead of vcpkg.
  • Refactors pyproject.toml and .github/workflows/python_wheels.yaml for list-style requirements and updated cibuildwheel settings.
  • Lowers Boost requirement from 1.70 to 1.66, removes vcpkg submodule, and patches macOS GL context typedef and retrieval.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/magnet/magnet/GL/context.hpp Added macOS branches for ContextKey and current context retrieval
src/magnet/CMakeLists.txt Downgraded Boost requirement to 1.66
src/dynamo/programs/dynahist_rw.cpp Changed platform guard from Apple/Windows to __GLIBC__
pyproject.toml Switched requires to list form; trimmed classifiers and dependencies
derivation.nix / default.nix New Nix expressions to build the Python package
.github/workflows/python_wheels.yaml Updated checkout recursion and bump cibuildwheel
.github/workflows/ci.yaml Replaced vcpkg jobs with Nix-based nix-build and nix-shell steps
.gitmodules Removed extern/vcpkg submodule
.envrc Enabled flake mode
Comments suppressed due to low confidence (1)

src/dynamo/programs/dynahist_rw.cpp:523

  • Using __GLIBC__ only enables exceptions on glibc-based systems. To cover all non-Apple/Windows platforms (e.g., musl, BSD), revert to the original #if !defined(__APPLE__) && !defined(_WIN32) or explicitly include other libc variants.
#ifdef __GLIBC__

- name: Build the nix package
run: nix-build

hand-build:
Copy link

Copilot AI May 19, 2025

Choose a reason for hiding this comment

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

[nitpick] The nix-build and hand-build jobs largely duplicate steps. Consider extracting shared steps into YAML anchors or a reusable workflow template to reduce duplication and simplify future updates.

Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@toastedcrumpets toastedcrumpets enabled auto-merge (squash) May 19, 2025 22:09
@toastedcrumpets toastedcrumpets merged commit 274a134 into master May 19, 2025
16 checks passed
@toastedcrumpets toastedcrumpets deleted the nix branch May 19, 2025 22:17
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