Closed szabo137 closed 1 year ago
Update: In this MR https://github.com/QEDjl-project/QEDbase.jl/pull/13 the role of the linter stage is discussed.
Since the test stages are already included and #9 and #10 cover the linter and documentation stages, I will close this issue to avoid redundancy.
The CI needs to be set up for
QEDfields.jl
The CI should cover at least the following steps:
linter stage
This stage contains one job
format
, which is triggered for each PR targetingdev
ormain
, and for each commit to the source branch of such a PR. It runs theJuliaFormatter.jl
(see here) for the whole code base. The formatter is configured (see.JuliaFormatting.toml
in the root directory) to check against the blue style. This is a soft check, which fails this stage if some changes in an MR are not well-formatted, but allows that other stages of the pipeline to run unaffected. Notice: at the current state, the packageJuliaFormatter
must not be a dependency ofQEDfields.jl
, which means, each local formatting run should be done in a separate environment, e.g. the global Julia environment on the local machine. Detailed instructions should be added to the developer documentation ofQED.jl
.Test stages
This section contains at least stages for unit test and integration tests (see here and here for details). At least the unit test stage should gather coverage information and report them back to the PR.
Documentation stages
This section contains at least two stages:
doc_build
anddoc_deploy
, where the documentation is built and deployed. The respective jobs should be triggered if PRs targetingmain
ordev
are actually merged. Therefore, the deployment should be done for both, the development (i.e. latest) version lying ondev
and the stable (i.e. released) version lying onmain
. The actual setup for this could be addressed in another issue.