Skip to content

eclipse/mwe

Modeling Workflow Engine (MWE)

See the MWE2 documentation for more details.

Release Process

MWE releases are performed via the master branch on Jenkins. The job is parameterized so the release type ('Integration', 'Beta', 'M0', 'M1', 'M2', 'M3', 'RC1', 'RC2', 'GA') can be configured upon starting the job.

Nightly Integration Releases

The master branch is configured to perform a nightly integration build. If a nightly build fails, running the build manually choosing the 'Integration' release type should return the same result and further actions should not be necessary.

Stable Releases

Performing a stable release has a few manual steps that are documented here:

  1. Start the master branch job, selecting the release type. When the job is finished, artifacts should have been uploaded to the Sonatype Nexus and the Eclipse download storage.

  2. Add a git tag (v$MAJOR.$MINOR.$SERVICE) to mark the commit being released.

  3. Check Jenkins artifacts, if Maven artifacts have the correct versions (without qualifiers!).

  4. Check Jenkins artifacts, if p2 artifacts have the correct version (with qualifiers!).

  5. Check if the MWE download site now provides the correct artifacts.

  6. Check if the MWE update site now provides the correct artifacts.

  7. Check if Sonatype Nexus provides the correct artifacts. If so, close the staging repository and release it afterwards.

  8. Create a SimRel contribution by replacing the update site in emft-mwe.aggrcon with the newly released version.

  9. If the release was of the type 'GA', run the ./set_version.sh script and provide a PR to prepare the next release cycle.

Build Locally

mvn -f maven/org.eclipse.emf.mwe2.parent/pom.xml -Dtycho.localArtifacts=ignore -Dmaven.repo.local=.m2/repository clean install

Build with nightly dependencies (EMF etc.)

mvn -f maven/org.eclipse.emf.mwe2.parent/pom.xml -Dtycho.localArtifacts=ignore -Dmaven.repo.local=.m2/repository -Dtarget-platform=org.eclipse.emf.mwe2.target.nightly clean install