Skip to content

New Release Manager

Carlos Rovira edited this page Apr 1, 2020 · 1 revision

Before start

prepare

export FLASHPLAYER_DEBUGGER="/Users/some-username/Devtools/Adobe/Flash/FlashPlayer-32.0/Flash Player.app/Contents/MacOS/Flash Player Debugger"

If you see this error:

gpg: signing failed: Inappropriate ioctl for device

Run first:

export GPG_TTY=$(tty)

Optional (Release of Tools projects)

In case you need to release compiler-build-tools and compiler-jburg-types:

  1. Ensure version in each tool is a SNAPSHOT
  2. Go to each folder and run
  • mvn release:prepare
  • mvn release:perform

Then start a VOTE and DISCUSSION threads to approve the release. As the vote passes update versions in royale-compiler pom.xml to the new version:

<compiler-build-tools.version>1.2.0</compiler-build-tools.version>
<compiler-jburg-types.version>1.2.0</compiler-jburg-types.version>

Now you can start the release:

Release Compiler

Branch

mvn -P option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release-test/0.9.8

Just press enter on every question Maven asks you ...

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.963 s
[INFO] Finished at: 2020-03-26T20:39:53+01:00
[INFO] Final Memory: 18M/77M
[INFO] ------------------------------------------------------------------------

Release

git checkout release-test/0.9.8

mvn -P option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.compiler-0.9.8-rc1

Select the suggested versions by hitting enter

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:57 min
[INFO] Finished at: 2020-03-26T20:45:22+01:00
[INFO] Final Memory: 22M/84M
[INFO] ------------------------------------------------------------------------

Release Perform

mvn release:perform
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:04 min
[INFO] Finished at: 2020-03-26T20:49:58+01:00
[INFO] Final Memory: 18M/77M
[INFO] ------------------------------------------------------------------------

Release Typedefs

Branch

mvn -P option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release-test/0.9.8

Just press enter on every question Maven asks you ...

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:09 min
[INFO] Finished at: 2020-03-26T20:58:28+01:00
[INFO] Final Memory: 26M/100M
[INFO] ------------------------------------------------------------------------

Release

git checkout release-test/0.9.8

edit the pom.xml and update the compiler version to the released versions (Cut off the "-SNAPSHOT")

commit and push the changes

mvn -P option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.typedefs-0.9.8-rc1

Select the suggested versions by hitting enter

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:37 min
[INFO] Finished at: 2020-03-26T21:08:13+01:00
[INFO] Final Memory: 26M/60M
[INFO] ------------------------------------------------------------------------

Release Perform

mvn release:perform
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 56.749 s
[INFO] Finished at: 2020-03-26T21:14:44+01:00
[INFO] Final Memory: 23M/90M
[INFO] ------------------------------------------------------------------------

Release Framework

Branch

mvn -P with-distribution,with-examples,with-manualtests,option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release-test/0.9.8

Just press enter on every question Maven asks you ...

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:51 min
[INFO] Finished at: 2020-03-26T21:25:56+01:00
[INFO] Final Memory: 58M/207M
[INFO] ------------------------------------------------------------------------

Release

git checkout release-test/0.9.8

edit the pom.xml and update the compiler- and typedefs versions to the released versions (Cut off the "-SNAPSHOT")

commit and push the changes

mvn -P with-distribution,with-examples,with-manualtests,option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.asjs-0.9.8-rc1

Select the suggested versions by hitting enter

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 25:38 min
[INFO] Finished at: 2020-03-27T09:57:09+01:00
[INFO] Final Memory: 63M/227M
[INFO] ------------------------------------------------------------------------

Release Perform

mvn release:perform
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19:02 min
[INFO] Finished at: 2020-03-27T10:16:44+01:00
[INFO] Final Memory: 41M/150M
[INFO] ------------------------------------------------------------------------

DONE!

Validate the release

  1. Download the source bundles
  2. Unpack them

For Maven

  1. Run mvn install in compiler, typedefs and framework folders.

For Ant

  1. Copy source bundles to a directory and rename them to be royale-compiler, royale-typedefs and royale-asjs since that names are required for the Ant scripts to work.
  2. Run ant all from royale-asjs folder.

for Ant, you can instead run ant all -Dbuild.noprompt=true -Drelease.target=true to avoid prompt request

Clone this wiki locally