Closed tiagobento closed 1 month ago
Need to configure an install:install-file
execution during the install
phase too, as JARs with custom classifiers apparently are not installed by default.
To test if the install is successful: mvn dependency:unpack -Dartifact=org.kie.kogito:jitexecutor-native-darwin:999-SNAPSHOT:jar:binaries -Dmdep.unpack.includes='jitexecutor-native-*'
PR job #2
was: UNSTABLE
Possible explanation: This should be test failures
Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2041/2/display/redirect
Test results:
Those are the test failures:
@tiagobento I think we need open a JIRA ticket on ASF infra board to create the MAVEN_USERNAME
and MAVEN_PASSWORD
secrets on this repository and then we can use the actions/setup-java
to configure the deployment settings as described here: https://docs.github.com/en/actions/publishing-packages/publishing-java-packages-with-maven.
We have these secrets created on ASF Jenkins but I don't have access to the values, so if you or @porcelli have these credentials we can open the JIRA ticket.
Ok, so it looks like the install
plugin is correctly installing the binaries
jar with the correct classifier without any additional configuration. This PR is now only missing the publication strategy on the GitHub Actions workflow.
The build command for kogito-apps
, in my understanding, would be mvn clean install -DskipTests -Pjitexecutor-native
, unless anyone knows that we need additional things to build this repo...
Do we want to skip this completely during the project PR checks and nightly? If it wouldn't be safer to run at least the linux build also there. If that was the case, I'd suggest adding an activation property to the jitexecutor-native profile, so that it is covered by -Dfull
as is the case in kogito-runtimes and drools:
https://github.com/apache/incubator-kie-kogito-pipelines/blob/main/.ci/pull-request-config.yaml#L47
The buildchain config would then need to be also adjusted so that kogito-apps runs with -Dfull
in current
build-command.
Due to the fact that for the Apache release we'll need a buildable zip that produces all artifacts necessary for downstream repos, combined with the usage the native binaries of JIT Executor have on
kie-tools
, the publication method needed to change from an external GitHub Actions workflow publishing to NPM to Maven modules that are part of the build of this repo.This change introduces a new profile "jitexecutor-native" that will, depending on the OS, include a specific. This is necessary because native compilation does not support cross-compilation, so we need to run three separate jobs, publishing three separate artifacts, each containing the binary targeting an OS.
The configurations were taken from
jitexecutor-runner
and replicated through the new OS-specific modules. We have tested this on @ljmotta's fork. See https://github.com/ljmotta/incubator-kie-kogito-apps/actions/runs/8993866752.The release Jenkins job will still be responsible for publishing all the Maven modules in this repository, however, for
jitexecutor-native
, we need to rely on the GitHub Actions workflow, since we need binaries for macOS and Windows too. Both unsupported on Apache Jenkins' infrastructure.@rodrigonull We haven't completed the changes to
publish-jitexecutor-native.yml
, since we don't know how to properly configure the Maven publication, especially with the custom classifier. Can you help us? We believe that the secondmvn clean install
for each OS should be changed tomvn clean deploy
with the proper configuration, but we're not sure.The new module
jitexecutor-native
is only included if the profilejitexecutor-native
is explicitly set with-P
.