Skip to content

EclipseLink Release Steps

Radek Felcman edited this page Oct 15, 2020 · 1 revision

!Page under construction

Release steps

There is always at least one release candidate (for example 2.7.5-RC1) before production release to give community time to test it and declare that production release is not too far. There is some time window to fix latest bugs.

Pre-release steps:

  • In case of changes in org.eclipse.persistence.oracle or org.eclipse.persistence.oracle.nosql modules is required to generate new Oracle bundles in "plugins/" directory. It's about following files:
  1. org.eclipse.persistence.oracle.nosql.source_*.jar
  2. org.eclipse.persistence.oracle.nosql_*.jar
  3. org.eclipse.persistence.oracle.source_*.jar
  4. org.eclipse.persistence.oracle_*.jar

It coulld be done by following command "ant -f oraclebuild.xml process-control". It builds new EclipseLink Oracle bundles and creates two commits with them. Third commit to remove old Oracle bundles must be created manually.

If command "ant -f oraclebuild.xml process-control" will fail with error message like this:

[java] Caused by: java.lang.RuntimeException: Failed to load p2 repository with ID 'Oracle-local-p2' from location file://home/felda/work/EclipseLinkProjects/eclipselinkGitHubRFelcmanFork/buildsystem/oraclelibs/p2repo

Try to delete "p2repo" directory under "oraclelibs" directory.

Note: as a part of nightly build URL is build date and git commit id (short version). It's required to select nightly build without any JUnit test errors (green check marks in the table in Nightly builds page)

Release steps:

  1. git (drom GitHub) clone/checkout (depends on GIT_REPOSITORY_URL, GIT_BRANCH variables)
  2. gpg key preparation (this key is provided by Eclipse.org foundation)
  3. download selected nightly build artifacts/bundles from Eclipse.org download server (projects-storage.eclipse.org) to Jenkins job workspace (promote_init.sh script)
  4. download some external dependencies. Most important are Eclipse SDK and maven-ant-tasks.
  5. promote.sh script call. This script create and publish EclipseLink maven artifacts into OSS Sonatype staging repository. What happens there:
  1. bash script will check in git repository and downloaded nightly build some job input parameters like MAJOR_VERSION, VERSION, NIGHTLY_BUILD_ID
  2. bash script call Ant (build-milestone target)
  3. Ant prepare Maven artifacts (there is template pom pom.xml.template in EclipseLink project files)
  4. Ant via maven-ant-tasks call Maven to sign and publish artifacts into OSS Sonatype staging repository.
  1. publish_milestone script call. It uploads artifacts into Eclipse.org download server (projects-storage.eclipse.org) Milestone page

Note: There is some delay (a few minutes), than changes are visible via Milestone page

  • add tag like 2.7.5-RC1 to the selected commit (see Pre-release steps) It could done via GitHub pages or directly via git.

Post-release steps: (note for 2.7.7 update EL doc with new persistence.xml property - see PR#725)

  • Add release info into EclipseLink Project page at https://projects.eclipse.org/projects/ee4j.eclipselink via link "Create a new release" in the right column.
  • Prepare EclipseLink sources for a next version. In the sources find and replace old version string by new one. For example 2.7.5 by 2.7.6. It's usually about *.properties, antbuild.xml, pom.xml, MANIFEST.MF files
  • Update P2 site by eclipselink-update-P2 .