Skip to content

Optimize CI workflow

Remco de Man requested to merge fbl_optimize_ci into dev

This merge request would optimize the CI workflow as discussed in #21 (closed).

FULL OPTIMALIZATION CAN ONLY BE ACHIEVED BY MERGING !141 (merged) AS WELL

It now consists of the following stages:

  1. validate: Runs ESLint and Checkstyle. Checkstyle will no longer be part of the validate Maven stage as that is run before initialize. These jobs do not generate any artifact but might fill up the cache of some runners.
  2. compile: Runs all Maven phases up to and including the compile lifecycle. This will compile all classes and also includes the process-resources stage which compiles the front-end code. It provides an artefact which contains the target folder for the next stages.
  3. test: Runs all Maven phases up to and including lifecycle test, but uses the artefact of the compile stage to overcome the need to compile all code again. This should only generate test resources, compile test classes and run the tests. This stage will not produce a new target folder as artefact, but will produce an artefact with the test reports, as was already the case in the previous workflow.
  4. package: This stage runs all Maven phases up to and including the package lifecycle, but excludes the tests using -DskipTests. It will use the artefact of the compile stage, so all the code should already be compiled at this point. The only things this stage does is building the documentation using asciidoctor (providing !141 (merged) is merged) and package the classes into a fat JAR, which will be provided as an artefact.
  5. deploy: Only ran for tags and release branches, this will provide the Quizzard JAR as a GitLab pages download. No fancy static website, just a JAR deployed publicly.
Edited by Deleted user

Merge request reports

Loading