Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1270 +/- ##
==========================================
+ Coverage 95.91% 96.05% +0.14%
==========================================
Files 57 57
Lines 5040 5069 +29
==========================================
+ Hits 4834 4869 +35
+ Misses 206 200 -6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-authored-by: Jon Shimwell <174589458+jon-proximafusion@users.noreply.github.com>
64652ce to
73dbcab
Compare
|
@shimwell thanks for this! My udnerstanding is that the current dolfinx pip install is pinned to some development version, correct? |
Yes, this can be changed after the next release but for now the development version is needed as it contains a few PRs of mine that make this pip install possible and these are not yet in the released version. |
The custom index now has petsc and petsc4py 3.26.0 wheels, and every petsc4py wheel declares its petsc requirement, so petsc no longer needs to be named. pip picks the wheels over the same-version sdists on PyPI, and falls back to the FEniCSx development versions without --pre because no final release satisfies them.
|
due to the petsc 3.26.0 release 12 hours ago and it contains some packaging mpi improvements I put in. We can now benefit from this upstream work and use 3.26.0 version instead of a develop version, this makes the install command a little smaller (no more |
io4dolfinx's adios2 backend needs the adios2 Python package, and 5 tests failed on the missing module. The adios2 on PyPI is a newer serial build, so it is installed with --no-deps from the custom index like scifem, which gets the MPI-enabled wheel the DOLFINx wheels are built against. pynacl, which that wheel requires, comes from PyPI so pip check stays clean.
|
I think remaining CI failures come from FESTIM or io4dolfinx not supporting DOLFINx main. |
Description
Summary
Now that PETSc 3.26.0 is released and the index has matching
petsc/petsc4pywheels, the install no longer needs--preor an explicitpetsc. Avoiding the extra index is still blocked by releases and PRs upstream, which will take at least 2 weeks. So I'm not sure if you want this level of experimental installation in your docs but just in case you are interested here is a PR for your consideration.Documents an optional experimental pip installation route for FESTIM using the FEniCSx/PETSc/scifem wheel index.
Adds a dedicated CI workflow that installs the documented dependency stack, installs FESTIM from the checked-out source, checks dependency consistency, and runs the complete existing pytest suite.
Related Issues
None.
Motivation and Context
FESTIM is available from PyPI, but its compiled FEniCSx stack has traditionally required Conda, Docker, or a source build. The experimental wheel index provides another route for Python 3.12 and newer on Linux x86_64 and aarch64.
The wheel stack currently contains a pre-release DOLFINx version, so this workflow also exposes compatibility changes before that version is released.
Type of Change
Testing
python -m pip checkgit diff --checkCode Quality Checklist
Documentation
Additional Notes
The CI sets
UCX_TLS=self,tcpbecause some GitHub-hosted Azure runners expose an unusable MANA verbs interface during MPI initialization. The existing FESTIM workflows use a comparable UCX transport restriction.