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¶
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
linters.yml¶
Workflow file: linters.yml
Workflow to check code format.
To run this check locally from the repository folder:
$ ruff check pysphinxdoc
pep8.yml¶
Workflow file: pep8.yml
Workflow to check code format.
To run this check locally from the repository folder:
$ pycodestyle pysphinxdoc --ignore="E121,E123,E126,E226,E24,E704,E402,E731,E722,E741,W503,W504,W605,E305"
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