Giter VIP home page Giter VIP logo

apache-kogito-pipelines's Introduction

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 nightlies (environments)

The jenkinsfile run in those environments can be found in each repository, at path .ci/jenkins/Jenkinsfile.specific_nightly.

The different environments can also be found into the dsl branch config file.
Here is some explanation:

  • native
    Run the checks with native mode enabled and GraalVM
  • mandrel
    Run the checks with native mode enabled and Mandrel
  • quarkus branch
    Run the checks against current Quarkus released branch
  • quarkus main
    Run the checks against Quarkus main branch
  • quarkus lts
    Run the checks against Quarkus LTS branch
  • mandrel lts
    Run the checks against Quarkus LTS branch, with native mode enabled and Mandrel

Run against integration branch (POC)

As an experimentation, due to many conflicts with quarkus lts and quarkus main branches, it has been decided to try to use an integration branch for the those nightly checks, in order to be able to resolve conflicts that my occur, but which cannot be pushed directly to the tested branch.

The integration branch nightly will:

  • Checkout the current integration branch
  • Try to merge the last changes from the tested branch (with -no-ff)
    • If any conflict, raise an error and developers will have to correct the merge conflict on the integration branch
    • If no conflict, run the tests !

Those new nightly jobs are currently set up as new jobs and won't replace the current ones without the integration branch.
Once we decide, we may remove the "old" jobs and use only the integration branch.

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.

NOTE: PR checks are also available for the different environments listed above. Please read the PR template to know which one are available for a specific repository.

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
  • Mandrel build&test (optional, can be launched with comment jenkins run mandrel)
    Test against Mandrel builder image
  • Quarkus main build&test (optional, can be launched with comment jenkins run quarkus-main)
    Test against quarkus main version
  • Quarkus branch build&test (optional, can be launched with comment jenkins run quarkus-branch)
    Test against quarkus branch, corresponding to current used Quarkus released version
  • Quarkus lts build&test (optional, can be launched with comment jenkins run quarkus-lts)
    Test against quarkus branch, corresponding to current used Quarkus LTS version

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

apache-kogito-pipelines's People

Contributors

radtriste avatar ginxo avatar bsig-gh-bot avatar rsynek avatar mbiarnes avatar danielezonca avatar cristianonicolai avatar evacchi avatar dependabot[bot] avatar triceo avatar ricardozanini avatar lampajr avatar msmagnanijr avatar kaitou786 avatar dupliaka avatar errantepiphany avatar spolti avatar r00ta avatar sutaakar avatar kevin-mok avatar mariofusco avatar kie-ci avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.