Skip to content

Conversation

LecrisUT
Copy link
Collaborator

@LecrisUT LecrisUT commented Jul 9, 2024

  • Update CI dependencies
  • Fix trivial pre-commit issues
  • (Temporarily) Fix cibuildwheel
    • Make sure auditwheel is run. Apparently the wheel tags generated by scikit-build-core were not meant to have manylinux, instead auditwheel must be used to re-link to check and relink to appropriate libc
    • For now the wheel will always link to the bundled spglib library. Unfortunately I can't find a good way to keep the fallback feature, but it should not be a destructive breakage, i.e. the python library will guarantee to work.
    • Proper fix will be in Revise using auditwheel in ci-buildwheel #510

Copy link

codecov bot commented Jul 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 83.90%. Comparing base (3368f9e) to head (0eb811b).
Report is 22 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #507   +/-   ##
========================================
  Coverage    83.90%   83.90%           
========================================
  Files           25       25           
  Lines         8185     8185           
  Branches      1705     1709    +4     
========================================
  Hits          6868     6868           
  Misses        1317     1317           
Flag Coverage Δ
c_api 74.78% <ø> (ø)
fortran_api 56.19% <ø> (ø)
python_api 80.36% <ø> (ø)
unit_tests 13.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@LecrisUT
Copy link
Collaborator Author

LecrisUT commented Jul 9, 2024

Oh, no this one still doesn't fix the issue 😟. I'll make an issue upstream

@LecrisUT LecrisUT force-pushed the chore/update-ci branch 4 times, most recently from 7915b3e to febe453 Compare July 10, 2024 07:59
@LecrisUT LecrisUT changed the title chore(deps): update ci and devdependencies Update CI dependencies Jul 10, 2024
renovate bot and others added 3 commits July 10, 2024 10:21
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
- Make sure auditwheel is run

Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
@LecrisUT LecrisUT requested review from lan496 and atztogo July 10, 2024 08:21
@LecrisUT LecrisUT added this to the 2.5 milestone Jul 10, 2024
@LecrisUT
Copy link
Collaborator Author

LecrisUT commented Jul 10, 2024

Ok this should fix the issue. Just as a sanity check, when CI / build-wheel / 🖥️ ubuntu-latest finishes, check the uploaded artifacts and make sure there is _manylinux_ tag instead of _linux_. I have checked the tags and tested locally that they install and work. There's a new folder that is generated spglib.libs, but overall that should be fine

For the release, you can either force push another 2.5.0 tag, or tag a 2.5.1. The only affected package is conda, which I can easily fix

@lan496 lan496 merged commit e4531bb into spglib:develop Jul 11, 2024
@lan496
Copy link
Member

lan496 commented Jul 11, 2024

Thanks for the quick fix! I'll force-push another 2.5.0 tag

@lan496
Copy link
Member

lan496 commented Jul 11, 2024

https://github.com/spglib/spglib/actions/runs/9888249165

 1122  git pull upstream develop
 1123  git log
 1124  git tag -f v2.5.0
 1125  git push upstream -f v2.5.0

@LecrisUT LecrisUT mentioned this pull request Aug 4, 2024
@LecrisUT LecrisUT deleted the chore/update-ci branch August 12, 2024 14:07
lan496 added a commit that referenced this pull request Jan 31, 2025
Reworked a lot of the CMake build
- Python bindings installation outside of `scikit-build-core` is no
longer supported. Avoids dangling files that cannot be removed due to
lacking python package metadata files (`spglib.dist-info`)
- Reworked the detection of when the bundled project needs to be
included:
- Check for Target `Spglib::symspg` (more robust than checking for any
cache variables)
  - Use `find_package` to check for system installed `Spglib`
- Use
[`CMAKE_DISABLE_FIND_PACKAGE_Spglib=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html)
to make sure the bundled version is used
- Use
[`CMAKE_REQUIRE_FIND_PACKAGE_Spglib=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_REQUIRE_FIND_PACKAGE_PackageName.html)
to make sure a system version is used
- If `find_package` failed (and `CMAKE_REQUIRE_FIND_PACKAGE_Spglib` was
not set), use the bundled sources
- Removed the dynamic loading of the `spglib` C library, `libsymspg`
must be resolved at build time
- Added `INSTALL_RPATH` for the python `_spglib` library pointing to
`$ORIGIN/${CMAKE_INSTALL_LIBDIR}`. *If* you want to use a system
installed library, there *must not* be a `libsysmspg` library there
- Reverted the `cibuildweel` workaround from #507

Depends-on: #458 

Closes #510 Closes #462
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants