X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=releng%2Fdoc%2Frelease.html;h=222857de043939870404d944ae84ccbfde0c5eb4;hb=0b65b9e03c2fe0eae91af7a8b87b63df749dc5f9;hp=ebe85ee67cb86e68d53ae6eba18c0f471923dd1f;hpb=4bb82aede02d798846196cc4f51e09d9f9161fef;p=simantics%2Fplatform.git diff --git a/releng/doc/release.html b/releng/doc/release.html index ebe85ee67..222857de0 100644 --- a/releng/doc/release.html +++ b/releng/doc/release.html @@ -293,7 +293,7 @@ img {

Definition of Done for Simantics Platform Releases

    -
  1. The simantics/platform and simantics/third-party Git repositories have a branch release/x.y.z[.w] and tag x.y.z[.w].
  2. +
  3. All Git repositories that are part of the Simantics release train have a branch called release/x.y.z[.w] and tag called x.y.z[.w].
  4. A change log entry is compiled from the issues in this release and made available to the general public separately for the platform and for the open products included in the release train.
  5. Roadmap is up-to-date.
  6. Tutorials are up-to-date and coherent with the platform.
  7. @@ -322,17 +322,24 @@ img {

    Released Plug-in Components and Products

    There are both plug-in components and products that are part of the Simantics Release Train that shall be released simultaneously to a major or minor Simantics release.

    Plug-in components are installable features that are deployed online as P2 repositories for general availability. Products are deployed as ZIP files and made available online in designated locations on simantics.org.

    +

    Core components of the release train:

    +

    Plug-in components that are part of the release train:

    Products that are part of the release train:

+
  1. Commit the changes made

     git commit -a
    @@ -419,7 +455,7 @@ location "http://www.simantics.org/download/release/x.y.z[.w]/sdk" {
     

    with the commit message

     Configured release/x.y.z[.w] branch for SDK builds.
     
    - refs #xxxx
    + gitlab #xxxx
     

    where #xxxx is the number of the x.y.z[.w] release engineering issue and push them to remote

     git push origin release/x.y.z[.w]
    @@ -427,40 +463,25 @@ location "http://www.simantics.org/download/release/x.y.z[.w]/sdk" {
     
  2. If you are branching from master, bump the revision of master right now to start the next release cycle in master. -An example of these changes can be seen in gitweb.

    +An example of these changes can be seen in gitweb or in review 1362. The changes include:

    +
      +
    • Simantics Desktop splash screen update (version number)
    • +
    • Simantics target platform name to state correct development version
    • +
    • org.simantics.sdk feature version bump
    • +
    • org.simantics.sdk.repository project version bump
    • +

    Commit the changes with the following commit message

    Bumped master target and org.simantics.sdk feature versions to x.y.z[.w].
     
    -refs #yyyy
    +gitlab #yyyy
     

    where #yyyy is the number of the next release's release engineering issue.

  3. -
-

Initialize release branch distribution web site

-
    -
  • Run SDK/Deploy External Components to Web build with parameters: -
      -
    • GERRIT_REFNAME: release/x.y.z[.w]
    • -
    • PUBLISH_ARTIFACTS: true
    • -
    -
  • -
  • Run the SDK/Simantics SDK build with parameters: -
      -
    • GERRIT_REFNAME: release/x.y.z[.w]
    • -
    • PUBLISH_ARTIFACTS: true
    • -
    +
  • +

    Do the same for simupedia target platform files as was done in task 6. +for platform target definitions.

  • -
-

Running these two builds will ensure that both the external components required to build the SDK and the Simantics SDK for the new release branch are published online at http://www.simantics.org/download/release/x.y.z[.w]/.

-

After this, whenever changes are pushed/merged to release/x.y.z[.w] branch in Gerrit, new SDK/Simantics SDK builds are triggered automatically and they will publish the results at the same location online.

-

This means that one does not have to do any tricks after this to build and publish the SDK as a P2 repository online. It is an automated process that is performed by the SDK/Simantics SDK Jenkins job.

-

Update .target files

-

Lastly, we want to change the .target files to point to the correct P2 repository locations. This happens by opening the previously edited .tpd files in Obeo's editor and regenerating the .target files by pressing Alt+R.

-

Push the changed files to remote again with commit message:

-
Configured release/x.y.z[.w] branch .target files.
-
-refs #xxxx
-
+

Test Release Train build

Trigger an execution of the simantics-release-train Jenkins job with parameters

    @@ -468,6 +489,27 @@ refs #xxxx
  • PUBLISH_ARTIFACTS: true

to ensure that all components of the release train build fine and to publish first versions of P2 repositories of everything online.

+

The release train build is currently never ran automatically. +However, after following all these steps, whenever changes are pushed/merged to release/x.y.z[.w] branch in Gerrit, new Jenkins builds are triggered automatically and they will publish the results (P2 repositories/products) at their designated locations online.

+

[Optional reading] Release train build details

+

The release train build does two very important steps as the first things, +i.e. build the external dependency P2 repositories for both the +Platform SDK and Simupedia:

+
stage('External Dependencies') {
+    node {
+        build job: 'SDK/Deploy External Components to Web', parameters: params1
+        build job: 'Member Components/Simupedia/fi.semantum.simupedia.build.p2.site', parameters: params1
+    }    
+}
+
+

After that it builds the Platform SDK and Simupedia before building anything else:

+
stage('SDK') {
+    node {
+        build job: 'SDK/Simantics SDK', parameters: params1
+        // Note that Simantics SDK builds simupedia-git as well
+    }
+}
+

Review documentation

Documentation to review:

    @@ -496,23 +538,17 @@ refs #xxxx

Tag release/* branches

When the release branches are ready for the release, tag them with the tag vx.y.z[.w]:

-
git clone ssh://<user>@www.simantics.org:29418/simantics/platform.git
-cd platform
-git checkout release/x.y.z[.w]
-git tag vx.y.z[.w] -m "Simantics x.y.z[.w] simultaneous release"
-git push origin --tags
-
-git clone ssh://<user>@www.simantics.org:29418/simantics/third-party.git
-cd third-party
-git checkout release/x.y.z[.w]
-git tag vx.y.z[.w] -m "Simantics x.y.z[.w] simultaneous release"
-git push origin --tags
+
./release-helper.sh x.y.z release/x.y.z your-git-username checkout
+./release-helper.sh x.y.z release/x.y.z your-git-username pull
+./release-helper.sh x.y.z release/x.y.z your-git-username tag
+./release-helper.sh x.y.z release/x.y.z your-git-username push-tags
 
-

Note The -m argument must be supplied to create an annotated tag. +

Note: release-helper.sh will supply the -m argument to git tag to create an annotated tag. Only annotated or signed tags can be pushed to Gerrit.

Backup documentation wiki databases

+

NOTE: This step is now deprecated since we are in the process of moving all mediawiki-based documentation into the platform git repository.

This step is only necessary for major/minor releases, not for service releases.

The wiki databases to be backed up are: