-
Notifications
You must be signed in to change notification settings - Fork 270
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
GitHub actions, pre-commit hooks, pyproject.toml and more #395
Conversation
c76c955
to
8e84dfa
Compare
8e84dfa
to
20d9d5d
Compare
38f976d
to
64c9b42
Compare
64c9b42
to
9e81845
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall. I've got some questions and change requests fixing formatting.
Thanks for the review! I have made the required changes in the code and marked those conversations as "resolved". For your questions, I will let you mark them as resolved once you are satisfied with my answers ;-) |
Ok, I think I have not managed to fix everything that was broken (somehow the CI builds that worked previously for Clang and GCC started to fail?!) and address the bug in the classical simulator. If you're happy with those changes, then I will merge this in the coming days. Thanks again for your contribution and doing this review. |
Thanks a lot for you review @andreashehn ! |
Summary of changes
setuptools-scm
for automatic versioning based on GitHub tagssetup.cfg
configuration file and move package metadata fromsetup.py
pyproject.toml
configuration file.editorconfig
fileCHANGELOG.md
fileREADME for the reviewer
Since this is a PR with a quite large change-set, you can probably best review this PR in chunks (below are commit ranges):
da29a79..50a574f
): most of the fundamental changes brought by this PR are located hered3ba306..df805dd
): this is where the rest of the fundamental changes are752d633..ed063bb
): changes to address the issues due to the new building and testing by the GitHub CI (ie. quasi no changes in functionality for ProjectQ just taking care of warnings fromflake8
, etc.)GitHub Actions
Add support for GitHub actions (in replacement of Travis CI) for testing, linting and building binaries. ProjectQ now has 3 distinct pipelines:
pylint
,flake8
,clang-tidy
, etc.Caveat
The move to GitHub Action and some of the others mentioned above means that this will most likely break the installation of ProjectQ with Python 3.5 or lower (and definitely break compatibility with Python 2.x). Compatibility with Python 3.5.x is still probably possible by lightly editing some configuration file (e.g. probably remove any mention of
setuptools-scm
insetup.py
andpyproject.toml
for regaining Python 3.5 compatibility).Support pre-commit Git hooks
Added
.pre-commit-config.yaml
YAML configuration file for pre-commit to allow an easier time running a set of pre-commit hooks such as: