simantics/platform
and simantics/third-party
Git repositories have a branch release/x.y.z[.w]
and tag x.y.z[.w]
.release/x.y.z[.w]
release stabilisation branchIn the following sections each task is described step by step.
When release stabilisation starts, branch simantics/platform
and simantics/third-party
repositories:
git clone ssh://<user>@www.simantics.org:29418/simantics/platform.git
cd platform
git branch release/x.y.z[.w] <commit>
git push origin release/x.y.z[.w]
git clone ssh://<user>@www.simantics.org:29418/simantics/third-party.git
cd third-party
git branch release/x.y.z[.w] <commit>
git push origin release/x.y.z[.w]
When creating major/minor releases <commit>
is usually a commit in the master
branch.
With service releases, branch from an existing release/*
branch instead.
Retrieve release branch of the platform repository
git clone ssh://<user>@www.simantics.org:29418/simantics/platform.git
cd platform
git branch release/x.y.z[.w] remotes/origin/release/x.y.z[.w]
git checkout release/x.y.z[.w]
Edit all target platform files in releng/org.simantics.sdk.build.targetdefinition/
, i.e.
simantics.target
org.simantics.sdk.build.targetdefinition.target
org.simantics.sdk.build.targetdefinition-semantum.target
At the beginning of each .target file, increment sequenceNumber
by 1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="Simantics x.y.z[.w]" sequenceNumber="11">
Next, replace the following rows in those files:
<repository location="http://www.simantics.org/download/master/sdk"/>
<repository location="http://www.simantics.org/download/master/external-components/maven"/>
<repository location="http://www.simantics.org/download/master/external-components/manual"/>
with
<repository location="http://www.simantics.org/download/release/x.y.z[.w]/sdk"/>
<repository location="http://www.simantics.org/download/release/x.y.z[.w]/external-components/maven"/>
<repository location="http://www.simantics.org/download/release/x.y.z[.w]/external-components/manual"/>
release/x.y.z[.w]
true
release/x.y.z[.w]
true
Documentation to review:
For each wiki page:
Ensure tutorial wiki documentation at http://dev.simantics.org/index.php/Tutorials is up-to-date with the released platform
Ensure tutorial projects and product build properly
com.acme.movie
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] 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] release"
git push origin --tags
Note The -m argument must be supplied to create an annotated tag. Only annotated or signed tags can be pushed to Gerrit.
Tag documentation wiki using tag.sh script.
The wiki documentation is mainly in MediaWiki installations. The only sane way to tag the documentation is to clone it:
\t
) with |
with Regular Expressions
selection checked|#
|
%{background: lightsalmon}Major Bug%
%{background: lightgreen}Major Feature%
%{background: lightgreen}Major Enhancement%
Mail template:
Hello everyone,
Simantics release x.y.z[.w] has been released. Head over to
https://www.simantics.org/redmine/news/<news number>
for the release news.
Best regards,
Simantics Release Engineering Team
News entry template:
On <date> Simantics x.y.z[.w] was tagged in SVN. Please find change log at:
* [[simantics-platform:Simantics_xyzw|Simantics x.y.z.w]]
Insert some general thoughts on the release...
.target
files. .tpd
files allow specifying version ranges instead of specific versions.