QEDjl-project / QEDfields.jl

[WIP] QEDfields.jl: Modeling of electromagnetic fields for QED.jl
https://qedjl-project.github.io/QEDfields.jl/stable/
MIT License
2 stars 4 forks source link

Update CI #7

Closed szabo137 closed 1 year ago

szabo137 commented 1 year ago

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 targeting dev or main, and for each commit to the source branch of such a PR. It runs the JuliaFormatter.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 package JuliaFormatter must not be a dependency of QEDfields.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 of QED.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 and doc_deploy, where the documentation is built and deployed. The respective jobs should be triggered if PRs targeting main or dev are actually merged. Therefore, the deployment should be done for both, the development (i.e. latest) version lying on dev and the stable (i.e. released) version lying on main. The actual setup for this could be addressed in another issue.

szabo137 commented 1 year ago

Update: In this MR https://github.com/QEDjl-project/QEDbase.jl/pull/13 the role of the linter stage is discussed.

szabo137 commented 1 year ago

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.