[LEDE-DEV] Release Preparation Questions
Jo-Philipp Wich
jo at mein.io
Sat Nov 19 06:20:07 PST 2016
Hi all,
I am currently on working on automating the required steps to cut a
proper release - in order to make this process as standardized and
repeatable as possible, I intend to script any required steps to avoid
the need for manual setup tasks as much as possible.
Ideally I want to reach a point where one runs a "make_release.sh" with
just two arguments: a release number and a code name.
In order to achieve that goal, we must ensure that any related resources
like download URLs, Git repositories etc. are using predictable names
which can be constructed from the version number (or the nickname) alone.
Below is a list of things I'd propose for automating release cutting,
please let me know if you agree or think otherwise.
REPOSITORY PREPARATION
1) Branch "source.git" and name it "lede-$version"
2) In the used package feeds, branch "lede-$version" and use it
3) Use http://downloads.lede-project.org/$version/ as base
download URL
4) In the "lede-$version" branch, adjust
package/base-files/image-config.in to have proper defaults for
CONFIG_VERSION_NICK, CONFIG_VERSION_NUMBER and CONFIG_VERSION_REPO,
also default CONFIG_VERSIONOPT and CONFIG_VERSION_FILENAMES to y
VERSIONING
1) Images shall have a version number X.Y.Z where X is the year of
release, Y the month and Z the build number produced by buildbot
2) The nonshared base repository holding kmods will be copied for each
consecutive build, so there will be a
http://downloads.lede-project.org/$version/targets/ar71xx/generic/packages/$buildno
for each build in order to ensure kmod compatibility even for older
installed images
3) All other, sharable repositories will remain at the base version, eg.
http://downloads.lede-project.org/$version/packages/mips_24kc/base to
let older installed images benefit from updated packages
SIGNING
1) We generate a new GnuPG key pair per release and cross-sign that
with multiple developer keys listed at
https://www.lede-project.org/signatures.html
2) We generate a new usign/signify key pair per release and use that to
sign the package lists - NOTE: we currently lack any support for
cross-signing usign signatures so we need to figure out a solution
for that
If no one objects to this I'll start implementing the points above in
the form of a series of release scripts which we can then use bootstrap
the release process.
Regards,
Jo
More information about the Lede-dev
mailing list