This is a review of the jenkins file used for the release branch setup.

https://github.com/apache/incubator-kie-tools/blob/main/.ci/jenkins/Jenkinsfile.setup-branch

The file is referenced directly from the corresponding jenkins job.

https://ci-builds.apache.org/job/KIE/job/kie-tools/job/kie-tools-setup-branch/

Overall results
- no big issues
- the tag for the images are a bit confusing
- it is unclear where and if we create specific folders for the new
branches as for drools, optaplanner and kogito

Here is a brief review of the steps executed.

1)  this jenkins job uses a docker image to execute all the corresponding
commands. The docker file for the image is at

https://github.com/apache/incubator-kie-tools/blob/main/.ci/incubator-kie-tools-ci-build.Dockerfile

There is nothing notable about this docker image.

2)  "Load local shared scripts". It loads a number of scripts used in the
rest of the pipeline. Nothing notable.

3) "Initialize" sets the display Name. Nothing Notable

4) "Clean workspace before build'. Just what the name says. Nothing notable

5) "Checkout kie-tools". Checks out the main branch. Nothing notable.

6) "CI Image Build'. Creates the image, setting the correct kie tools
version. Beware of the difference between the CHECKOUT_BRANCH_NAME and the
KIE_TOOLS_VERSION.

7) "Setup PNPM" Setup the parameters for building the kie tools - mainly
maven related. QUESTION - is this related somehow with the Image Build?

8) "PNPM Bootstrap" Bootstraps the pnpm tool, whatever that means. Not
clear for me, but probably noting relevant.

9) "Setup new branch" Creates the new branch with the correct
NEW_BRANCH_NAME. Nothing notable.


10) "Update project version" Uses pnpm to update the project version to
KIE_TOOLS_VERSION. Nothing notable, but see next point.

11) "Update kogito version" Uses pnpm to update also the kogito to
KOGITO_MAVEN_VERSION and  params.KOGITO_IMAGES_TAG. QUESTION: Why these
need to be different from KIE_TOOLS_VERSION? Also, is this modifying the
version of the image built at step 6?

12) "Update stream name". For me it is pretty unclear what hte stream name
is. Probably nothing notable.

13) "Replace CI image tag" This should change the version for the image
used in the newly created folder. However it is unclear why this should be
required, since this image seems to be used only for performing the branch
setup job.

14) "Commit and Push changes" Creates the special commit and performs the
release

I hope this is helpful

Regards

Paolo

Reply via email to