Skip to content

feat(container): lean pixi-based two-stage container with multi-arch support - #466

Open
jcgraciosa wants to merge 2 commits into
underworldcode:developmentfrom
jcgraciosa:feature/lean-container-pixi
Open

feat(container): lean pixi-based two-stage container with multi-arch support#466
jcgraciosa wants to merge 2 commits into
underworldcode:developmentfrom
jcgraciosa:feature/lean-container-pixi

Conversation

@jcgraciosa

Copy link
Copy Markdown
Contributor

Summary

  • Rewrites container/Containerfile to a pixi two-stage build, fixing PETSc
    version drift between the container and Binder (root cause of the v3.1.0
    container build failure)
  • Adds linux/arm64 support for native performance on ARM64 machines
    (Apple Silicon Macs and ARM64 Linux servers/cloud instances)
  • Moves gmsh from PyPI to conda-forge — restores the original
    environment.yaml approach and was required to unblock arm64 support
    (PyPI gmsh has no linux-aarch64 wheels)

Details

Containerfile: Two-stage build (builder: pixi install + compile UW3;
runtime: copy env + Mesa apt packages). Drops vtk-osmesa; uses conda-forge
vtk + Mesa instead — same as Binder, works on amd64 and arm64.

pixi.toml/pixi.lock: Added linux-aarch64 platform and target sections.
gmsh moved to [dependencies] (conda-forge).

environment.yaml: Marked as human-readable reference only.

Testing

  • pixi install -e runtime: linux/arm64 ✓, linux/amd64 ✓, osx-arm64 ✓
  • Full container build: CI

Underworld development team with AI support from Claude Code

Juan Carlos Graciosa and others added 2 commits July 29, 2026 13:34
@jcgraciosa
jcgraciosa requested a review from lmoresi as a code owner July 29, 2026 05:38
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.

1 participant