Repository navigation
skpkg: final work required for scikit-packaging libdiffpy #63
Copy link
Copy link
Open
Description
All migration work is done on skpkg-migration
CI
- Shrink the matrix. Python is only used to run SCons, so testing 3.12, 3.13 and 3.14 triples the jobs without testing anything new. Test one Python version on each of the 4 operating systems.
- Decide when the matrix runs. Running on push to
mainis commented out inmatrix-and-codecov.yml; the scikit-package default runs on merge tomain. - Release occurs before matrix test passes. Today the matrix runs after the GitHub release is published and does not block it. This test should pass before a release occurs.
- Use the same setup for PR tests and the matrix.
tests-on-pr.ymlwrites its ownsconscript.localand installscxxtestfrom conda.matrix-and-codecov.ymluses.github/scripts/configure-matrix.pyand a git checkout of CxxTest. Use one setup for both. - The docs workflow only works by accident. The reusable
_release-docs.ymlworkflow inscikit-package/release-scriptsrunspython -m pip install -e . --no-deps. libdiffpy has no Python project, so pip installs an empty placeholder package calledUNKNOWN 0.0.0. The docs build passes anyway, but only by accident. Decide how we should handle it or if we can just ignore it for now. - enable pre-commit bot for this repo.
Downstream packages
- diffpy.srreal will fail to build against migrated libdiffpy. srreal compiles libdiffpy's sources from the commit pinned in
cmake/LibdiffpyVersion.cmake. ItsCMakeLists.txtinstalls${LIBDIFFPY_SOURCE_DIR}/LICENSE.txt, which this migration renamed toLICENSE.rst. Once the pin moves to a migrated commit, the srreal build fails. Open an issue in diffpy.srreal to update that path. Check this when chore: use external libdiffpy diffpy.srreal#98 is merged. - Test diffpy.srreal against migrated libdiffpy before merging to
main(requested in v1.4.1 release tag is wrong #40). - Update the conda-forge
libdiffpy-feedstock. Write issues for the following and fix them in the feedstock:- Change the source URL from
archive/v{{ version }}.tar.gztoarchive/{{ version }}.tar.gz, because release tags no longer start withv. - Change
license_filefromLICENSE.txttoLICENSE.rst. - Simplify
build.shandbld.bat. SConstruct now installs to$PREFIX(or$CONDA_PREFIX) by default and uses theLibrary/layout on Windows. - Add
run_exportswithpin_subpackage(name, max_pin='x.x')so that packages built against libdiffpy pin a compatible version (see bugs: ABI incompatibility after1.5.0release #47).
- Change the source URL from
Optional cleanup
- Rename
LICENSE_DANSE.txttoLICENSE_DANSE.rstto match diffpy.srreal. srreal's build copies this file by name too, so do it together with the srreal license-path fix above. - Replace the hand-formatted license text in
docs/source/license.rstwith.. include:: ../../LICENSE.rst, so there is only one copy of the license to maintain.
Release
- Merge
skpkg-migrationintomain. - Before tagging, set
FALLBACK_VERSIONinsite_scons/fallback_version.pyto the release version. - Make the 1.5.0 release issue from the release checklist template (make a release issue after skpkging is done. #54).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
cadenmyers13 commentedon Oct 29, 2026
@SYMSCAE See above for what needs to be done.
SYMSCAE commentedon Oct 29, 2026
@cadenmyers13 For entry
diffpy.srreal will fail to build against migrated libdiffpythere is an existing PR diffpy/diffpy.srreal#98 that reverts this change and makes srreal depend on released libdiffpy.cadenmyers13 commentedon Oct 29, 2026
@SYMSCAE okay great. I updated above
SYMSCAE commentedon Oct 29, 2026
@cadenmyers13 Please add one more entry to enable pre-commit on this repo, I've setup clang-format so the hooks now work for cpp files as well.
SYMSCAE commentedon Oct 30, 2026
@cadenmyers13 I think we are good to merge and release an rc? There's only one
_release-docs.ymlleft and it seems the cleanest way to fix is to add a flag to upstreamrelease-scripts(something like install_pkg = true).