Hi Toshiya and Paolo, Thanks for this effort, indeed helpful. Sharing my knowledge about KIE Tools.
There are only two folders to know -- .ci (Jenkins) and .github/workflows (GitHub Actions). Everything else can be found starting from there. Here's a breakdown: ## RELEASES (Jenkins) - .ci/incubator-kie-tools-ci-build.Dockerfile Image used to run all Jenkins jobs (I.e., AUTOMATIONs defined on the release procedure document) - .ci/jenkins/Jenkinsfile.* Implementation of AUTOMATIONs defined on the release procedure document and other misc. jobs like "daily-dev", which publishes the `main` branch everyday. E.g., https://sandbox.kie.org/dev, and "weekly" job, for weekly timestamped SNAPSHOTs. ## PR CHECKS AND CI (GitHub Actions) - .github/workflows/ci_build.yml Runs on every PR (partial mode enabled) and on every commit to `main` (always full mode). - .github/workflows/ci_check_code_formatting.yml Checks if code is properly formatted. Runs on every PR and commit to `main`. - .github/workflows/ci_check_dependencies_consistency.yaml Checks if dependencies are correctly aligned between all packages. Runs on every PR and commit to `main`. - .github/workflows/ci_codeql.yml Static code analysis. Runs on every PR and commit to `main`. ## MISC. (GitHub Actions) - .github/workflows/publish_emscripten_fs.yml Manually-triggered job to build and publish new versions of https://www.npmjs.com/package/@kie-tools/emscripten-fs. Will run on PRs (skipping publication) if `publish_emscripten_fs.yml` is changed. Very stable, so almost never executed. This could be "inlined" into the `packages` folder though, as a regular package. Was done like that to prevent the need of having Docker installed in the early days of `kie-tools`... ## EXTENDED SERVICES NATIVE COMPILATION RELEASE, CI & PR CHECKS (GitHub Actions, for macOS / Windows, which are not available on Jenkins) - .github/workflows/release_build_extended_services.yml Invoked by the two jobs below with publication skipped or not. Builds and publishes `extended-services` for macOS and Windows. - .github/workflows/release_dry_run_extended_services.yml Runs the jobs above with publication skipped on PRs that change relevant code. - .github/workflows/release_publish_extended_services.yml Runs the jobs above with publication enabled. Manually invoked. ## Let me know if you have questions or simply want to know more. Regards, Tiago Bento On Thu, Jul 11, 2024 at 5:05 AM Paolo Bizzarri <[email protected]> wrote: > > Hi Toshiya, > > thank you a lot for the diagram, it is very clear and very well done. > > I am myself learning the ropes here, and here are some pointers to code and > documentation that is good to use. > > 1) the code for the pipelines is in > https://github.com/apache/incubator-kie-kogito-pipelines/ and there is a > very nice initial readme, that seems reasonably up to date and detailed. If > you know nothing about the topic, I strongly suggest looking into this. > > 2) for the jenkins files, there is a good documentation in the directory > https://github.com/apache/incubator-kie-kogito-pipelines/tree/main/docs. it > gives a good overview of the various type of pipelines and of the jenkins > jobs. For what I can see, again, it is reasonably up to date. I suggest > starting from > https://github.com/apache/incubator-kie-kogito-pipelines/blob/main/docs/jenkins.md > > 3) kie kogito pipelines contains some general code for pipelines, > configurations and the likes. HOWEVER, each repository has some extra code > that you should check, which is under the .ci root directory. for example, > for drools you can check it here. > https://github.com/apache/incubator-kie-drools/tree/main/.ci > > 4) kie-tools apparently is a different story and I know little about it, so > all of this is just for the first three parts - drools, optaplanner, kogito. > > Regards > > Paolo > > On Thu, Jul 11, 2024 at 10:19 AM Toshiya Kobayashi < > [email protected]> wrote: > > > Hi, > > > > This thread is to share knowledge around Jenkins and kogito-pipelines. > > > > I'm Toshiya Kobayashi working on drools, not being familiar with Jenkins > > and kogito-pipelines, so I started learning them. > > > > I wrote slides to illustrate relationships of jobs and jenkinsfile etc. > > It's work-in-progress, but it may help the understanding. Please feel free > > to validate and/or share your thoughts on this. Thanks! > > > > > > https://docs.google.com/presentation/d/13IwLkQOOQcB4-9_uMgLFvGNKFkc682crsE9MDKvLa3M > > > > Feel free to use this thread to share such knowledge, so we can become more > > comfortable in contributing to CI/CD. > > > > Cheers, > > Toshiya > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
