Skip to contentSkip to conversation

/bin/release_scripts: Release automation scripts

PATCH New Graydon, Tracy 1 participant 1 message Jan 22, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 /bin/release_scripts: Release automation scripts

[YOCTO #8942]

This is the initial commit of the release.py and misc component scripts which form the basis for release automation work. The release.py script may be used to stage and publish a major, point, or milestone release. The various standalone scriptlet perform individual steps of parts of the release
process and are handy for clean up, incremental staging, and testing.

---
 bin/release_scripts/README              |  40 +++
 bin/release_scripts/convert_symlinks.py | 131 +++++++++
 bin/release_scripts/gen_md5.py          |  95 +++++++
 bin/release_scripts/nuke_cruft.py       |  92 +++++++
 bin/release_scripts/purge_unloved.py    |  84 ++++++
 bin/release_scripts/release.py          | 475 ++++++++++++++++++++++++++++++++
 bin/release_scripts/rsync.py            | 176 ++++++++++++
 7 files changed, 1093 insertions(+)
 create mode 100644 bin/release_scripts/README
 create mode 100755 bin/release_scripts/convert_symlinks.py
 create mode 100755 bin/release_scripts/gen_md5.py
 create mode 100755 bin/release_scripts/nuke_cruft.py
 create mode 100755 bin/release_scripts/purge_unloved.py
 create mode 100755 bin/release_scripts/release.py
 create mode 100755 bin/release_scripts/rsync.py
bin/release_scripts/README new file +40 -0
new file mode 100644
index 0000000..dbc51fc
@@ -0,0 +1,40 @@
+The release.py script is intended to help more efficiently and consistently 
+publish releases. The script works for Major, Point, and Milestone releases.
+
+To invoke the script, run "python release.py <options>. Available options are:  
+
+
+    -i, --build-id    Required for all release types. Build id of release 
+                      including rc#. i.e. yocto-2.0.rc1, yocto-2.1_M1.rc3, etc.
+    -b, --branch      Required for Major and Point releases. i.e. daisy, fido, jethro, etc.
+    -p, --poky-ver    Required for Major and Point releases. Not used for Milestones. i.e. 14.0.0
+
+Example: 
+
+$ python release.py -i yocto-2.0.rc3 -b jethro -p 14.0.0 
+
+The script will take the release candidate name and determine the source and 
+target directories, as well as the type of release, etc., to prepare for staging 
+the release. 
+
+The script will then do the following:
+
+1) Rsync the rc candidate to a staging dir where all work happens
+2) Convert the symlink in build-appliance dir.
+3) In machines dir, convert the symlinks, delete the files we do not want to 
+   publish, and generate fresh md5sums after link conversion.
+4) For major and point releases, repackage the poky and eclipse tarballs using 
+   branch and poky version.
+5) For major and point releases, publish the eclipse plugins.
+6) For major and point releases, create the BSP tarballs. 
+7) For major and point releases, generate the master md5sum file for the release.
+8) Sync the staging directory to downloads directory.
+
+Currently, the ADT release sync and the release notes must still be done manually 
+and copied over to the release download directories accordingly. Future enhancements
+will address these two release steps.
+
+
+
+
+
bin/release_scripts/convert_symlinks.py new file +131 -0

131 lines not on this page · raw message

bin/release_scripts/gen_md5.py new file +95 -0

95 lines not on this page · raw message

bin/release_scripts/nuke_cruft.py new file +92 -0

92 lines not on this page · raw message

bin/release_scripts/purge_unloved.py new file +84 -0

84 lines not on this page · raw message

bin/release_scripts/release.py new file +475 -0

475 lines not on this page · raw message

bin/release_scripts/rsync.py new file +176 -0

176 lines not on this page · raw message

Signature · 1 line
2.4.3