Skip to content

ci: modify skpkg ci and update the release issue template - #58

Merged
sbillinge merged 8 commits into
diffpy:skpkg-migrationfrom
cadenmyers13:skpkg-ci
Oct 26, 2026
Merged

sbillinge merged 8 commits into
diffpy:skpkg-migrationfrom
cadenmyers13:skpkg-ci

Conversation

@cadenmyers13

@cadenmyers13 cadenmyers13 commented Oct 26, 2026 •

Copy link
Copy Markdown

This PR update the CI for libdiffpy.

Here's a summary of all the CI in libdiffpy.

  1. tests-on-pr.yml runs tests on a PR
  2. check-news-item.yml checks that a news item is present in a PR
  3. release-github-on-tag.yml runs the release workflow on git push upstream <tag>
  4. build-and-publish-docs-on-dispatch.yml builds and publishes docs on a successful release

Extra care needs to be taken for matrix testing (an issue has been opened).

We also cant use _release-docs.yml because it runs pip install -e . --no-deps before make -C docs html, which fails for the same reason. It also checks out without git tags, and the docs read the library version from those tags.

The "hardcoded" workflows follow the same steps as the reusable versions (miniconda from conda-forge, the requirements/*.txt files, Codecov, the gh-pages deploy) and call scons / gcovr / make directly. tests-on-pr.yml was already written this way in #56.

We still use the reusable workflows wherever they don't depend on Python: _check-news-item, _check-tag-privilege, _check-pat-token-validity and _release-github.

If C++ projects should use the shared workflows too, release-scripts would need inputs for the install and test commands (or a c_library mode). This might be easy to implement considering scikit-package asks if the package contains C++ code.

@cadenmyers13

Copy link
Copy Markdown
Author

@sbillinge Ready for review.

Is libdiffpy supported on Windows? Claude is telling me no. Maybe @SYMSCAE can answer this too. @SYMSCAE Can you review this PR too?

@cadenmyers13

cadenmyers13 commented Oct 26, 2026 •

Copy link
Copy Markdown
Author

btw, the check news item CI only runs on PRs to main. Don't know if thats desirable behavior

@cadenmyers13

Copy link
Copy Markdown
Author

I made this issue. Maybe people have thought of this earlier and we dont want this, but i made it anyways scikit-package/scikit-package#739

env.Replace(CXX=os.environ.get('CXX', os.path.join(prefix, 'bin', 'c++')))
env.Prepend(CCFLAGS=['-isystem' + os.path.join(prefix, 'include')])
env.Append(LIBPATH=os.path.join(prefix, 'lib'))
env.Append(LINKFLAGS='-Wl,-rpath,' + os.path.join(prefix, 'lib'))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@cadenmyers13 Windows is actually supported, and is using a separate compiler msvc, which its compile flags are not universal with this.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@SYMSCAE I think this is going to involve more work than what should be done on scikit-package migration. I'm thinking I'll undo this changes. What do you think? Unless you can write CI for the matrix testing. This is out of my wheelhouse

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@SYMSCAE I think this is going to involve more work than what should be done on scikit-package migration. I'm thinking I'll undo this changes. What do you think? Unless you can write CI for the matrix testing. This is out of my wheelhouse

I've just checked and it is indeed more work than expected. We have to fix dllexport and such (which is present in v1.4.1 release source but not in main) as well as ci. I will open an issue and make a PR once this gets merged.

@cadenmyers13

Copy link
Copy Markdown
Author

@sbillinge ready for review. I simplified this a lot more by reusing some workflow. an issue has been opened for making a matrix test

@sbillinge
sbillinge merged commit 6140608 into diffpy:skpkg-migration Oct 26, 2026
1 check passed
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.

3 participants