/kogito-pipelines

CI/CD pipelines for Kogito

Primary LanguageGroovyApache License 2.0Apache-2.0

Kogito Pipelines

This repository contains some of the pipelines of Kogito project.

Kogito Repositories

Apart from this repository, pipelines are also concerning those repositories:

The different Kogito pipelines

Nightly & Release pipelines

Kogito has 2 main pipelines:

More information can be found here.

Tools pipelines

This is a set of cleanup utils jobs.

Repositories' specific pipelines

Native checks

In some of the Kogito repositories, you can find native checks. If that is the case, the pipeline can be found in .ci/jenkins/Jenkinsfile.native.

Quarkus check

A nightly check against Quarkus is done every night. Pipeline can be found in https://github.com/kiegroup/kogito-runtimes/blob/main/.ci/jenkins/Jenkinsfile.quarkus.

LTS check

If the LTS check is enabled, then Quarkus and Native checks are also performed against LTS version of Quarkus (see config lts.quarkus_version) and Quarkus native LTS builder image (see config lts.native_builder_image).

PR checks

PR checks are using the build-chain for artifacts and its configuration can be found in .ci folder.
They are run on both Jenkins and GHA with some slight differences.

There is one check per downstream repository. This allows parallelization and more flexibility in restart of a specific downstream repo.

kogito-images is run only on Jenkins and is using its own .ci/jenkins/Jenkinsfile.

kogito-operator is run on another Jenkins and is using its own .ci/jenkins/Jenkinsfile.

Jenkins artifacts PR checks

The jobs can be found into the {branch}/pullrequest folder in Jenkins.

Each repository contains the needed DSL configuration (can be found in .ci/jenkins/dsl) and will most of the time use the KogitoTemplate method createMultijobPRJobs.
This will generate all the needed PR checks and make use of the Jenkinsfile.buildchain file.

Jenkins PR checks are of 3 different types:

  • Simple build&test (automatic)
    Regular testing
  • Native build&test (optional, can be launched with comment jenkins run native)
    Test all native parts of the repository
  • LTS build&test (optional, can be launched with comment jenkins run LTS)
    Test against quarkus LTS version (see above)

GitHub Action checks

Each repository has a different yaml files in .github/workflows folder to configure the workflow.

We are additionally using composite actions to centralized most common steps used by the different Kogito repositories' jobs. You can check the different kind of composite actions we have available at .ci/actions folder.

After the build, test results are parsed and logged using the action-surefire-report action.

Sonar cloud

NOTE: test coverage analysis is executed only by Jenkins PR simple build&test and not while using GitHub action.

Configuration of pipelines

Jenkins

All pipelines can be found in kogito Jenkins folder.

Jenkins jobs generation

More information can be found here.

Zulip notifications

Any message / error is sent to kogito-ci stream.

Format

[branch] Project