Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Testing and CI #27

Merged
merged 6 commits into from
Sep 9, 2024
Merged

Improved Testing and CI #27

merged 6 commits into from
Sep 9, 2024

Conversation

charlesknipp
Copy link
Collaborator

@charlesknipp charlesknipp commented Aug 13, 2024

I created a very basic workflow for continuous integration. For now, it should run for PRs to main as well as commits to main, but we can change that however we like.

Since I am relatively new to setuptools there are a handful of items I would like to take care of before closing this PR:

  • automate building and publishing to PyPI
  • read requirements from setup.cfg instead of hard-coding dependencies in the workflow action

Let me know if there's anything else I should account for, or if there's anything I can better streamline.

@mrognlie
Copy link
Contributor

This is great! I'm not very familiar with CI workflows, so I'm not qualified to say much about main.yml, although it looks good to me.

On your remaining items: I guess right now we have requirements listed in pyproject.toml and not setup.cfg, but I assume the latter reads them? (I also know next to nothing about Python packaging. :) ) It would be great to have everything integrated so that the CI is consistent with the requirements, although perhaps in an ideal world the CI would run with both the oldest allowed version and the newest version of the required packages (which for us are just Numpy, Scipy, and Numba) to make sure there are no incompatibilities on either end. (I don't know if such a thing is common?)

In terms of publishing automatically to pip, this also sounds great, with the caveat that I think we should do so when we have a new "release" on GitHub. (I assume that's the norm?)

Thanks and great to have you on board!

@charlesknipp charlesknipp self-assigned this Aug 13, 2024
@charlesknipp
Copy link
Collaborator Author

I got setuptools to work for both the build and the testing environtment, so any package dependencies are read directly from the setup.cfg

Copy link
Collaborator

@bbardoczy bbardoczy left a comment

Choose a reason for hiding this comment

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

Thanks, @charlesknipp! This looks great to me. I tried one test. Install the package locally on a fresh conda environment and a run a few notebooks from different projects. That works.

@charlesknipp charlesknipp merged commit eb4ac4c into master Sep 9, 2024
3 checks passed
@charlesknipp charlesknipp deleted the ck/continuous-integration branch September 9, 2024 21:20
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