Skip to content

Task List For Royale Releases

yishayw edited this page Apr 17, 2021 · 6 revisions

The token:

  • $releaseversion represents the current release.
  • $rc represents the current release candidate number.
  • 'mavenfoldernumber' represents the name of the staging repo folder on https://repository.apache.org
  1. Determine if compiler-jburg-types or compiler-build-tools needs to be released. If not skip to step 15.
  2. In royale-compiler/compiler-jburg-types and/or compiler-build-tools, run mvn release:prepare -Dtag=org.apache.royale.compiler-build-tools-$releaseversion-rc$rc
  3. Then run: mvn release:perform
  4. Using SVN, clone https://dist.apache.org/repos/dist/dev/royale
  5. create a compiler-build-tools/$releaseversion/$rc and/or compiler-jburg-types/$releaseversion/$rc folder
  6. Log into https://repository.apache.org/#stagingRepositories. Find the repository which was just created and click the "Close" button at the top of the screen. This will make the artifacts available for download.
  7. Copy the files source package and jar and checksum and signature files from the staging repo to that folder. The URLs to download will look like: https://repository.apache.org/service/local/repositories/orgapacheroyale-$mavenfoldernumber/content/org/apache/royale/compiler/compiler-build-tools/$releaseversion/compiler-build-tools-$releaseversion-source-release.zip
  8. Add the ApproveXXX.xml file from the repo.
  9. Commit the files.
  10. Send an email with the subject [DISCUSS] Discuss Release Apache Royale Compiler Build Tools (note that the word Discuss is both in brackets and outside of brackets so that Gmail and other email clients separate the threads).
  11. Send an email with the subject [VOTE] Release Apache Royale Compiler Build Tools.
  12. When the vote passes: Hit the "release" button at https://repository.apache.org
  13. Run svn mv dev/royale/compiler-build-tools/$releaseversion$rc release/royale/compiler-build-tools/$releaseversion
  14. Commit 'svn commit`.
  15. In royale-compiler run mvn -P option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release/$releaseversion
  16. git checkout release/$releaseversion
  17. mvn -P option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.compiler-$releaseversion-rc$rc
  18. mvn release:perform
  19. In royale-typedefs run mvn -P option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release/$releaseversion
  20. git checkout release/$releaseversion
  21. mvn -P option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.typedefs-$releaseversion-rc$rc
  22. mvn release:perform
  23. In royale-asjs run mvn -P with-distribution,with-examples,with-manualtests,option-with-swf release:branch -DautoVersionSubmodules=true -DbranchName=release/$releaseversion
  24. git checkout release/$releaseversion
  25. mvn -P with-distribution,with-examples,with-manualtests,option-with-swf release:prepare -DautoVersionSubmodules=true -Dtag=org.apache.royale.asjs-$releaseversion-rc$rc
  26. mvn release:perform
  27. Download the royale-compiler source package from: https://repository.apache.org/service/local/repositories/orgapacheroyale-$mavenfoldernumber/content/org/apache/royale/compiler/royale-compiler-parent/$releaseversion/royale-compiler-parent-$releaseversion-source-release.zip
  28. Unzip into a royale-compiler folder
  29. Download the royale-typedefs source package from: https://repository.apache.org/service/local/repositories/orgapacheroyale-$mavenfoldernumber/content/org/apache/royale/typedefs/royale-typedefs-parent/$releaseversion/royale-typedefs-parent-$releaseversion-source-release.zip
  30. Unzip into a royale-typedefs folder
  31. Download the royale-asjs source package from: https://repository.apache.org/service/local/repositories/orgapacheroyale-$mavenfoldernumber/content/org/apache/royale/framework/royale-framework-parent/$releaseversion/royale-framework-parent-$releaseversion-source-release.zip
  32. Unzip into a royale-asjs folder
  33. In the royale-asjs folder ant release
  34. Using SVN, clone or update https://dist.apache.org/repos/dist/dev/royale
  35. create a $releaseversion/$rc folder
  36. Copy the royale-asjs/out folder
  37. Copy the Readme
  38. Copy the ApproveRoyale.xml file
  39. Commit
  40. Send an email with the subject [DISCUSS] Discuss Release Apache Royale $releaseversion RC$rc (note that the word Discuss is both in brackets and outside of brackets so that Gmail and other email clients separate the threads).
  41. Send an email with the subject [VOTE] Release Apache Royale $releaseversion RC$rc.
  42. When the vote passes: Hit the "release" button at https://repository.apache.org
  43. Run svn mv dev/royale/$releaseversion/rc release/royale/$releaseversion
  44. Commit 'svn commit`.
  45. In royale-compiler: git checkout release/$releaseversion
  46. 'git tag -a apache-royale-$releaseversion -m "Official release of apache-royale-$releaseversion"
  47. 'git push --tags'
  48. In royale-typedefs: git checkout release/$releaseversion
  49. 'git tag -a apache-royale-$releaseversion -m "Official release of apache-royale-$releaseversion"
  50. 'git push --tags'
  51. In royale-asjs: git checkout release/$releaseversion
  52. 'git tag -a apache-royale-$releaseversion -m "Official release of apache-royale-$releaseversion"
  53. 'git push --tags'
  54. In royale-compiler: git checkout master
  55. git pull --rebase
  56. git merge apache-royale-$releaseversion
  57. git push --all
  58. In royale-typedefs: git checkout master
  59. git pull --rebase
  60. git merge apache-royale-$releaseversion
  61. git push --all
  62. In royale-asjs: git checkout master
  63. git pull --rebase
  64. git merge apache-royale-$releaseversion
  65. git push --all
  66. Still in royale-asjs: git checkout release/$releaseversion
  67. cd npm\release-scripts
  68. npm install
  69. node publish.js --type=js-only --pathToTarball=$svnreleasefolder/royale/$releaseversion/binaries/apache-royale-$releaseversion-bin-js.tar.gz --username=apache-royale-owner --password=<password from private@
  70. node publish.js --type=js-swf --pathToTarball=$svnreleasefolder/royale/$releaseversion/binaries/apache-royale-$releaseversion-bin-js-swf.tar.gz --username=apache-royale-owner --password=<password from private@
  71. Still in royale-asjs: update versions in build.properties to expected next release version
  72. Update versions in package.json
  73. Update versions in npm/js-only/package.json
  74. Update versions in npm/js-swf/package.json
  75. Replace version number in royale/CordovaCameraExample/CordovaCameraExample-app.xml
  76. Replace version number in royale/DesktopMap/DesktopMap-app.xml
  77. Replace version number in royale/MapSearch/MapSearch-app.xml
  78. Replace version number in royale/MobileMap/MobileMap-app.xml
  79. Replace version number in royale/MobileStocks/MobileStocks-app.xml
  80. Replace version number in royale/StorageExample/StorageExample-app.xml
  81. Update version number in -swf-debugfile-alias=/org/apache/royale/$releaseversion in pom.xml
  82. Check the version for royale.compiler.version in pom.xml is to $nextreleaseversion-SNAPSHOT
  83. Check the version for royale.typedefs.version in pom.xml is to $nextreleaseversion-SNAPSHOT
  84. Check the version for royale.framework.version in archetypes/pom.xml is to $nextreleaseversion-SNAPSHOT
  85. Check the version for royale.framework.version in examples/pom.xml is to $nextreleaseversion-SNAPSHOT
  86. Check the version for royale.framework.version in manualtests/pom.xml is to $nextreleaseversion-SNAPSHOT
  87. git add .
  88. git commit -m "update version to $newreleaseversion"
  89. In royale-compiler: update versions in build.properties to expected next release version
  90. git add .
  91. git commit -m "update version to $newreleaseversion"
  92. In royale-typedefs: update versions in build.properties to expected next release version
  93. Check the version for royale.compiler.version in pom.xml is to $nextreleaseversion-SNAPSHOT
  94. git add .
  95. git commit -m "update version to $newreleaseversion"
  96. In royale-asjs: git checkout develop
  97. git pull --rebase
  98. git merge release/$releaseversion
  99. git push --all
  100. In royale-typedefs: git checkout develop
  101. git pull --rebase
  102. git merge release/$releaseversion
  103. git push --all
  104. In royale-typedefs: git checkout develop
  105. git pull --rebase
  106. git merge release/$releaseversion
  107. git push --all
Clone this wiki locally