/bin/release_scripts: Release automation scripts
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.
Signed-off-by Graydon, Tracy <[email protected]>
--- 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
@@ -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