Continuous integration¶
Continuous Integration (CI) tests are implemented via GithHub workflows.
Documentation build and deploy¶
flowchart TD
subgraph GitHub IO
doc_dev["<code>/dev"]
doc_stable["<code>/stable"]
doc_x.x.x["<code>/x.x.x"]
end
subgraph GitHub
DocumentationBuilder["documentation.yml"]
artifacts@{ shape: docs, label: "doc build artifacts" }
end
DocumentationBuilder -- on main --> doc_stable
DocumentationBuilder -- on dev --> doc_dev
DocumentationBuilder -- on GitHub release ---> doc_x.x.x
DocumentationBuilder -- on PR --> artifacts
The development docs are built using GitHub Actions.
The workflow .github/workflows/documentation.yml builds the doc and
deploy it on the dev (respectively main).
On pull-request a successful build of the doc by
.github/workflows/documentation.yml has no trigger.
GitHub Actions Specification¶
codespell.yml¶
Workflow file: codespell.yml
Workflow to check common misspellings in text files.
To run this check locally from the repository folder:
$ codespell --toml pyproject.toml hopla examples
documentation.yml¶
Workflow file: documentation.yml
Workflow to build doc, upload it as artifact, and deploy it for the master, main and dev branches.
To run this check locally from the doc folder:
$ sphinxdoc -v 2 -p $MODULE_DIR -n $MODULE_NAME -o $MODULE_DIR/doc
$ cd $MODULE_DIR/doc
$ make html-strict
pycodestyle.yml¶
Workflow file: pycodestyle.yml
Workflow to check code format.
To run this check locally from the repository folder:
$ pycodestyle hopla --ignore="E121,E123,E126,E226,E24,E704,E402,E731,E722,E741,W503,W504,W605,E305"
pydoclint.yml¶
Workflow file: pydoclint.yml
Workflow to check whether a docstring’s sections (arguments, returns, raises, …) match the function signature or function implementation.
To run this check locally from the repository folder:
$ pydoclint hopla
release-documentation.yml¶
Workflow file: release-documentation.yml
Workflow to build doc, and deploy it using the version as a subdomain.
To run this check locally from the doc folder:
$ sphinxdoc -v 2 -p $MODULE_DIR -n $MODULE_NAME -o $MODULE_DIR/doc
$ cd $MODULE_DIR/doc
$ make html-strict
ruff.yml¶
Workflow file: ruff.yml
Workflow to check code format.
To run this check locally from the repository folder:
$ ruff check hopla
testing.yml¶
Workflow file: testing.yml
Workflow to perform testings and code coverage.
To run this check locally from the doc folder:
$ nosetests --with-coverage --cover-package=hopla --verbosity=2
--with-doctest --doctest-options='+ELLIPSIS,+NORMALIZE_WHITESPACE'