-
Notifications
You must be signed in to change notification settings - Fork 45
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
Rework CI/CD #686
Rework CI/CD #686
Conversation
for more information, see https://pre-commit.ci
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.
is this email correct ?
maintainers = [
{name = "Alexandre Boisselet", email = "[email protected]"}
]
yes (see https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html) |
Related Issues
This PR is a first attempt at reworking the CI/CD workflows and introduces several changes in the project structure.
Move to Github Actions
As mentioned in #683 we are currently using azure-pipelines and CircleCI to run our continuous integration jobs. In order to reduce maintenance work, we will now move to Github Workflows as main CI tool (see https://docs.github.com/en/actions).
The new
python-app.yml
Github workflow configuration file in .github/workflows encompasses the following actions:pylint
[ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
Other todos:
.circleci
folder and contentazure-pipelines.yml
config fileGithub Apps
Even if there is a pre-commit github action available. I suggest to use the App, as it has the benefit to update the pre-commit dependencies automatically via PRs (see https://pre-commit.ci/lite.html)
CircleCI
appAzurePipeline
appCodeCov
Setup files
The new standard to structure python projects is defacto the move from
setup.py
topyproject.toml
. (see https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#declaring-project-metadata) All the metadata related to the project is store there, including the optional dependencies for testing and the docs.pyproject.toml
stetup.py
Further automation
We are currently already using tox to automate testing.
This PR extends the
tox.ini
to allow building the docs via thetox -e docs
call. This feature is still susceptible to change and I'd prefer to deal with it in another PR. We will aslo need to update the docsREADME.md
file to take this into account and maybe also add this to theCONTRIBUTING.md
file.@OrtnerMichael Could you please review this PR and especially thoroughly the
pyproject.toml
metadata. Thanks