Skip to content

OSL Productization cut‐off process

Roberto Oliveira edited this page Nov 25, 2024 · 3 revisions

This guide explains the required steps to cut-off a productization branch for the next OpenShift Serverless Logic release and to prepare the Cekit descriptor files required to build the images.

Tools

The following tools needs to be installed in your local system:

  • Maven 3.9.6
  • Java 17
  • Node 20
  • pnpm 9.3.0
  • Go 1.21

Productization cut-off process

Update versions

  1. Update variable OSL__branchName in packages/redhat-env/env/index.js with the proper branch name, e.g 1.35
  2. Update variable KIE_TOOLS_BUILD__streamName in packages/root-env/env/index.js with proper stream version, e.g 1.35.0

Bootstrap

First step is to bootstrap the root of kie-tools

pnpm bootstrap

After that, bootstrap each image that needs to be productized

pnpm bootstrap -r -F '@osl/osl-data-index-ephemeral-image...' -F '@osl/osl-data-index-postgresql-image...' -F '@osl/osl-jobs-service-ephemeral-image...' -F '@osl/osl-jobs-service-postgresql-image...' -F '@osl/osl-swf-builder-image...' -F '@osl/osl-swf-devmode-image...' -F '@osl/osl-management-console-image...'

Export versions and update generated folders

To avoid issues with productized version of Kogito and Drools, build the dependencies of osl-management-console-image before exporting the productized versions

pnpm -r -F '@osl/osl-management-console-image...' build:dev

Export productized versions as env variables

export KOGITO_RUNTIME_version=9.102.0.redhat-00004
export SONATAFLOW_QUARKUS_DEVUI_VERSION=${KOGITO_RUNTIME_version}
export QUARKUS_PLATFORM_GROUPID=com.redhat.quarkus.platform
export QUARKUS_PLATFORM_version=3.8.6.SP1-redhat-00002

Run build:dev for each image

pnpm -F '@osl/osl-data-index-ephemeral-image' -F '@osl/osl-data-index-postgresql-image' -F '@osl/osl-jobs-service-ephemeral-image' -F '@osl/osl-jobs-service-postgresql-image' -F '@osl/osl-swf-builder-image' -F '@osl/osl-swf-devmode-image' -F '@osl/osl-management-console-image' build:dev

Commit changes and open PR

Last step is committing all changes done in the images that are going to be productized and open a PR to properly product branch.

To stage all required files, you can use:

git add packages/redhat-env/env/index.js packages/root-env/env/index.js packages/osl-*/generated
git add -f packages/osl-management-console-image/generated/modules/osl-management-console/added/image-env-to-json-standalone
git commit -m "update OSL images to version 1.35 CR1"

As a reference, take a look in the PR that was opened for OSL 1.35 CR1: https://github.com/kubesmarts/kie-tools/pull/23