diff --git a/.ci/jenkins/Jenkinsfile.deploy b/.ci/jenkins/Jenkinsfile.deploy
index d8fdabb2f3..58e0c532bb 100644
--- a/.ci/jenkins/Jenkinsfile.deploy
+++ b/.ci/jenkins/Jenkinsfile.deploy
@@ -112,7 +112,10 @@ pipeline {
def mavenCommand = getMavenCommand().withProperty('maven.test.failure.ignore', true)
.withOptions(env.BUILD_MVN_OPTS_CURRENT ? [ env.BUILD_MVN_OPTS_CURRENT ] : [])
.withOptions(env.KOGITO_APPS_BUILD_MVN_OPTS ? [ env.KOGITO_APPS_BUILD_MVN_OPTS ] : [])
- .skipTests(skipTests)
+
+ if (params.SKIP_TESTS) {
+ mavenCommand.skipTests()
+ }
if (isRelease()) {
releaseUtils.gpgImportKeyFromStringWithoutPassword(getReleaseGpgSignKeyCredsId())
@@ -256,6 +259,10 @@ String getGitAuthorCredsId() {
return env.GIT_AUTHOR_CREDS_ID
}
+String getGitAuthorPushCredsId() {
+ return env.GIT_AUTHOR_PUSH_CREDS_ID
+}
+
String getBuildBranch() {
return params.BUILD_BRANCH_NAME
}
diff --git a/.github/workflows/publish-jitexecutor-native-rc.yml b/.github/workflows/publish-jitexecutor-native-rc.yml
index a5cb5a12d8..e6893a814a 100644
--- a/.github/workflows/publish-jitexecutor-native-rc.yml
+++ b/.github/workflows/publish-jitexecutor-native-rc.yml
@@ -10,6 +10,12 @@ on:
release_candidate_version:
description: "Release candidate version"
required: true
+ drools_repository:
+ description: "Drools repository"
+ required: true
+ kogito_runtimes_repository:
+ description: "Kogito runtimes repository"
+ required: true
jobs:
build_jitexecutor_native:
@@ -28,10 +34,9 @@ jobs:
echo "REF=${{github.event.pull_request.head.ref}}" >> "$GITHUB_OUTPUT"
echo "PROJECT_VERSION=999-SNAPSHOT" >> "$GITHUB_OUTPUT"
else
- VERSION="${{ github.event.inputs.release_candidate_version }}"
echo "REPOSITORY=apache/incubator-kie-kogito-apps" >> "$GITHUB_OUTPUT"
- echo "REF=${VERSION//-SNAPSHOT/}" >> "$GITHUB_OUTPUT"
- echo "PROJECT_VERSION=$VERSION" >> "$GITHUB_OUTPUT"
+ echo "REF=${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
+ echo "PROJECT_VERSION=${{ github.event.inputs.release_candidate_version }}" >> "$GITHUB_OUTPUT"
fi
shell: bash
@@ -51,21 +56,200 @@ jobs:
maven-version: 3.9.6
- name: Import GPG key
- uses: crazy-max/ghaction-import-gpg@v6
+ if: github.event_name != 'pull_request'
+ uses: crazy-max/ghaction-import-gpg@111c56156bcc6918c056dbef52164cfa583dc549
with:
gpg_private_key: ${{ secrets.GPG_KEY }}
+ - name: Setup maven settings (Linux and MacOS)
+ if: (runner.os == 'Linux' || runner.os == 'macOS')
+ env:
+ WORKDIR_PATH: ${{ github.workspace }}
+ DROOLS_REPO: ${{ github.event.inputs.drools_repository }}
+ KOGITO_RUNTIMES_REPO: ${{ github.event.inputs.kogito_runtimes_repository }}
+ run: |
+ mkdir -p ${WORKDIR_PATH}/.m2
+ echo "
+
+
+ apache.releases.https
+ ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
+ ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
+
+
+ apache.snapshots.https
+ ${{ secrets.NEXUS_USER }}
+ ${{ secrets.NEXUS_PW }}
+
+
+
+
+ additional_repos
+
+
+ apache-kie-drools-staging-repository
+ Apache KIE Drools Staging Repository
+ ${DROOLS_REPO}
+ default
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+ apache-kie-kogito-runtimes-staging-repository
+ Apache KIE Kogito Runtimes Staging Repository
+ ${KOGITO_RUNTIMES_REPO}
+ default
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+
+
+ apache-kie-kogito-runtimes-staging-repository
+ Apache KIE Kogito Runtimes Staging Repository
+ ${KOGITO_RUNTIMES_REPO}
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+ apache-kie-drools-staging-repository
+ Apache KIE Drools Staging Repository
+ ${DROOLS_REPO}
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+
+
+
+ additional_repos
+
+ " > ${WORKDIR_PATH}/.m2/settings.xml
+
+ - name: Setup maven settings (Windows)
+ if: runner.os == 'Windows'
+ env:
+ WORKDIR_PATH: ${{ github.workspace }}
+ DROOLS_REPO: ${{ github.event.inputs.drools_repository }}
+ KOGITO_RUNTIMES_REPO: ${{ github.event.inputs.kogito_runtimes_repository }}
+ shell: pwsh
+ run: |
+ New-Item -Name ".m2" -Path "$env:WORKDIR_PATH" -ItemType Directory
+ $contentToAdd = @"
+
+
+
+ apache.releases.https
+ ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
+ ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
+
+
+ apache.snapshots.https
+ ${{ secrets.NEXUS_USER }}
+ ${{ secrets.NEXUS_PW }}
+
+
+
+
+ additional_repos
+
+
+ apache-kie-kogito-runtimes-staging-repository
+ Apache KIE Kogito Runtimes Staging Repository
+ $env:KOGITO_RUNTIMES_REPO
+ default
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+ apache-kie-drools-staging-repository
+ Apache KIE Drools Staging Repository
+ $env:DROOLS_REPO
+ default
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+
+
+ apache-kie-kogito-runtimes-staging-repository
+ Apache KIE Kogito Runtimes Staging Repository
+ $env:KOGITO_RUNTIMES_REPO
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+ apache-kie-drools-staging-repository
+ Apache KIE Drools Staging Repository
+ $env:DROOLS_REPO
+
+ true
+ never
+
+
+ false
+ never
+
+
+
+
+
+
+ additional_repos
+
+
+ "@
+ Add-Content "$env:WORKDIR_PATH\.m2\settings.xml" $contentToAdd
+
- name: "Set up JDK 17"
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
- server-id: apache.releases.https
- server-username: ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
- server-password: ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
- gpg-private-key: ${{ secrets.GPG_KEY }}
- gpg-passphrase: ""
-
+ overwrite-settings: false
+
- name: "Setup Linux"
if: runner.os == 'Linux'
run: |
@@ -115,16 +299,20 @@ jobs:
- name: "Update versions (Linux and macOS)"
if: (runner.os == 'Linux' || runner.os == 'macOS') && github.event_name != 'pull_request'
shell: bash
+ env:
+ SETTINGS_FILE_PATH: ${{ github.workspace }}/.m2/settings.xml
run: |
- mvn -B -fae -ntp -N -e versions:update-parent -DparentVersion="[${{ steps.version.outputs.PROJECT_VERSION }}]" -DallowSnapshots=true -DgenerateBackupPoms=false
- mvn -B -fae -ntp -N -e versions:update-child-modules -DallowSnapshots=true -DgenerateBackupPoms=false
+ mvn -B -fae -ntp -N -e versions:update-parent -DparentVersion="[${{ steps.version.outputs.PROJECT_VERSION }}]" -DallowSnapshots=true -DgenerateBackupPoms=false -s ${SETTINGS_FILE_PATH}
+ mvn -B -fae -ntp -N -e versions:update-child-modules -DallowSnapshots=true -DgenerateBackupPoms=false -s ${SETTINGS_FILE_PATH}
- name: "Update versions Windows"
if: runner.os == 'Windows' && github.event_name != 'pull_request'
shell: pwsh
+ env:
+ SETTINGS_FILE_PATH: ${{ github.workspace }}\.m2\settings.xml
run: |
- mvn -B -fae -ntp -N -e versions:update-parent -DparentVersion="[${{ steps.version.outputs.PROJECT_VERSION }}]" -DallowSnapshots=true -DgenerateBackupPoms=false
- mvn -B -fae -ntp -N -e versions:update-child-modules -DallowSnapshots=true -DgenerateBackupPoms=false
+ mvn -B -fae -ntp -N -e versions:update-parent -DparentVersion="[${{ steps.version.outputs.PROJECT_VERSION }}]" -DallowSnapshots=true -DgenerateBackupPoms=false -s $env:SETTINGS_FILE_PATH
+ mvn -B -fae -ntp -N -e versions:update-child-modules -DallowSnapshots=true -DgenerateBackupPoms=false -s $env:SETTINGS_FILE_PATH
- name: "Build macOS"
if: runner.os == 'macOS' && github.event_name == 'pull_request'
@@ -135,8 +323,10 @@ jobs:
- name: "Build and publish macOS"
if: runner.os == 'macOS' && github.event_name != 'pull_request'
shell: bash
+ env:
+ SETTINGS_FILE_PATH: ${{ github.workspace }}/.m2/settings.xml
run: |
- mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-darwin -am -Pjitexecutor-native -Prelease
+ mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-darwin -am -Pjitexecutor-native -Papache-release -s ${SETTINGS_FILE_PATH}
- name: "Build Linux"
if: runner.os == 'Linux' && github.event_name == 'pull_request'
@@ -147,8 +337,10 @@ jobs:
- name: "Build and Publish Linux"
if: runner.os == 'Linux' && github.event_name != 'pull_request'
shell: bash
+ env:
+ SETTINGS_FILE_PATH: ${{ github.workspace }}/.m2/settings.xml
run: |
- mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-linux -am -Pjitexecutor-native -Prelease
+ mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-linux -am -Pjitexecutor-native -Papache-release -s ${SETTINGS_FILE_PATH}
- name: "Build Windows"
if: runner.os == 'Windows' && github.event_name == 'pull_request'
@@ -159,8 +351,10 @@ jobs:
- name: "Build and Publish Windows"
if: runner.os == 'Windows' && github.event_name != 'pull_request'
shell: pwsh
+ env:
+ SETTINGS_FILE_PATH: ${{ github.workspace }}\.m2\settings.xml
run: |
- mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-win32 -am -Pjitexecutor-native -Prelease
+ mvn clean deploy -B -ntp -DdeployAtEnd -DskipTests -pl jitexecutor-native/jitexecutor-native-win32 -am -Pjitexecutor-native -Papache-release -s $env:SETTINGS_FILE_PATH
- name: "Upload JIT Executor binary"
uses: actions/upload-artifact@v4