Skip to content

Eclipse CI Release Jobs

Scott M Stark edited this page Jun 4, 2021 · 4 revisions

Eclipse CI Jobs Home Page

The CDI project Eclipse Jenkins CII environment and jobs is located at https://ci.eclipse.org/cdi/.

Current Jobs

The current set of jobs include:

  • CDI Release-JDK11 - A maven release job that uses the release job that uses the maven:release plugin to release a version of the CDI API using JDK 11. The parameters are:

    • RELEASE_VERSION - The x.y.z version string to use for the release

    • DEV_VERSION - The next version of the development branch

    • OVERWRITE - Should the release tag be overwritten

    • BRANCH - the branch from the https://github.com/eclipse-ee4j/cdi repo to release

    • DRY_RUN - Pass the --dryRun flag to release and deploy commands

    • LICENSE - The license type to use with the specpfication build

    • REVISION - The revremark value in the cdi-spec.asciidoc header

  • CDI Release - (OLD) A maven job to perform a CDI staging release from the prepared branch given by the BRANCH parameter. The specification is built using the ${SPEC_LICENSE} license type and REVISION parameter for the revremark. This currently expects that the branch is manually updated with the version to release checked into the poms, and then updated to the next SNAPSHOT version after.

  • CDI-TCK-Release-JDK11 - A maven release job that uses the maven:release plugin to release a version of the CDI TCK using JDK 11. The parameters are:

    • RELEASE_VERSION - The x.y.z version string to use for the release

    • DEV_VERSION - The next version of the development branch

    • OVERWRITE - Should the release tag be overwritten

    • DIST_BUILD_WELD_VERSION - The version of Weld to include in the TCK dist

    • CDI_TCK_REPO_BRANCH - the branch from the https://github.com/eclipse-ee4j/cdi-tck repo to release

  • CDI-TCK-Release-JDK8 - A maven release job that uses the maven:release plugin to release a version of the CDI TCK using JDK 8. The parameters are:

    • RELEASE_VERSION - The x.y.z version string to use for the release

    • DEV_VERSION - The next version of the development branch

    • OVERWRITE - Should the release tag be overwritten

    • DIST_BUILD_WELD_VERSION - The version of Weld to include in the TCK dist

    • CDI_TCK_REPO_BRANCH - the branch from the https://github.com/eclipse-ee4j/cdi-tck repo to release

  • CDI-Weld-TCK-Run - CI job to download the indicated CDI TCK and run the Weld against it using the weld/jboss-tck-runner example from the TCK dist. The parameters are:

    • TCK_VERSION - The version of the TCK dist to test against

    • STAGING - Enable the staging repository for the run to pull in staged but not released artifacts

  • CDIReleaseScript - An older CDI staging release script from EE4J_8 branch used for EE8 releases

  • CDISpec - CDI spec build script that builds the ${BRANCH} branch with the ${LICENSE} license type and ${REVISION} revremark

  • CleanDownloads - Freestyle script to remove/mv contents from the download.eclipse.org/ee4j/cdi directory. It has the files to remove hardcoded in the script section, so edit to specify what to clean from the download directory.

  • DependencyInjectionFreestyleRelease - A maven release job that uses the maven:release plugin to release a version of the dependency-injection project. The parameters are:

    • RELEASE_VERSION - The x.y.z version string to use for the release

    • DEV_VERSION - The next version of the development branch

    • OVERWRITE - Should the release tag be overwritten

    • BRANCH - the branch from the https://github.com/eclipse-ee4j/injection-api repo to release

  • DependencyInjectionSnapshotRelease - Build a SNAPSHOT of Dependency Injection API release project from the master branch

  • DependencyInjectionTCKDistBuild - Build of the DI TCK binary distribution and upload to download.eclipse.org/ee4j/cdi This simply builds the current master branch of https://github.com/eclipse-ee4j/injection-tck, so it must be setup with the correct version in the poms for the release. The parameters are:

    • LICENSE - The license to use for the build. It should be LICENSE.txt for ASL on builds released to maven central, and EFTL.txt for the final version to be promted as the official specification TCK build for certifications.

    • SKIP_UPLOAD - Flag indicating if the upload should be skipped

    • SPEC_VERSION - The current major.minor version of the injection spec used the directory target under download.eclipse.org/ee4j/cdi/inject to upload the build to.

  • DI-Weld-TCK-Run - Run the master branch injection-tck/example maven project to produce a DI TCK run.

  • DIReleaseScript - Older Dependency Injection release script that takes indicated RELEASE_VERSION tag and builds and releases it to the Nexus repo for publishing to Maven central.

  • DISpec - DI spec release script from master branch of https://github.com/eclipse-ee4j/injection-spec/

    • STATUS - The status of the specification

  • DropStagingRepo - Job to drop a staging repo using the org.sonatype.plugins:nexus-staging-maven-plugin. Parameters:

    • DROP_ID - ID of repository to drop, e.g., jakartaenterprise-1031

    • LIST_REPOS - Flag to also list the staging repository ids visible to the Jenkins user

  • ListStagingRepo - List the staging nexus repository ids visible to the Jenkins user

  • MavenCentralRelease - Simple job to release a staging repository to maven central using the org.sonatype.plugins:nexus-staging-maven-plugin. Parameters:

    • ID - staging repository id to release

    • LIST_REPOS - Flag to also list the staging repository ids visible to the Jenkins user

    • DRY_RUN - Don’t actually release the staging repository given by ID. Useful in combination with LIST_REPOS.

  • GlassfishTCKRun - setup to debug running Glassfish against the CDI TCK

  • Java11Test - test shell script to validate how to access Java 11 JDK

Dealing with Staging Repositories

the CI release jobs create staging releases in the https://jakarta.oss.sonatype.org/ repository. Snapshots are available under https://jakarta.oss.sonatype.org/content/repositories/snapshots/ and staged is available under https://jakarta.oss.sonatype.org/content/repositories/staging/.

The org.eclipse.ee4j:project:1.0.6 parent pom defines profiles that make these repositories visible under profiles with the ids snapshot and staging.

If you include this parent pom in you project:

<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.6</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>jakarta.enterprise</groupId>
    <artifactId>cdi-tck-parent</artifactId>
    <packaging>pom</packaging>
    <version>4.1.0-SNAPSHOT</version>
    <name>Jakarta CDI TCK</name>
...

Then you can build against staged or snapshot builds by specifying -Pstaging and/or -Psnapshots.

Clone this wiki locally