Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Cost: While an in-depth cost analysis has not been done yet, suspect it will be a wash or possibly more expensive.

Planned CI/CD Design

Subdivide CI process into reusable phases, and defer long-running and expensive phases till as late and infrequently as possible, while still ensuring maximum potential quality checks.

On new PR open, draft or otherwise, the following phases can all be run, mostly in parallel and mostly on cheap, GitHub provided runners.

  • compile all code
    • then validate javadocs- this depends on bytecode output.
  • check for repo compliance via repolinter
  • check for source code formatting via spotless
  • check gradle tooling validation.

Devs are expected to have run as many tests as feasible before review. CI checks are redundant.

Once the PR is approved, the following can be run in parallel.

  • run unitTests
  • run acceptanceTests
  • run referenceTests

Test results can then be posted back to the PR, and any failures would prevent merging.