← Back to team overview

checkbox-dev team mailing list archive

Re: CEP-2: New release process

 

I plan to integrate required features into versiontools that I wrote back
in Linaro.

All testing is automatic (build, test). The manual testing process needs to
be documented, yes. But it is not a blocker at that step. The goal there is
to fuel the testing ppa.
7 lut 2014 18:12 "Daniel Manrique" <daniel.manrique@xxxxxxxxxxxxx>
napisał(a):

> > Cutting the release
> > -------------------
> >
> > Off-line steps, you can do them as many times as you like:
> >
> >     ~$ bzr push -d trunk release
> >     # TODO: pick version of packaging branck to go along with this
> >     # do a test build, iterate if it fails
>
> We need a standard way to do the test builds. It can be a separate
> proposal,
> it's orthogonal to this but they do intersect at some point.
>
>
> >     ~$ cd release
> >         ~/release$ ./checkbox-old/setup.py bump-version-status --to=rc1
> >         ~/release$ bzr tag $(./checkbox-old/setup.py
> --name)-v$(./checkbox-old/setup.py --version)
>
> can setup.py also do this second step? can we have a tool that does that?
> (it'll
> eventually fall off my bash history and I'll spend minutes chasing
> documentation
> when it should take seconds).
>
> >
> > On-line steps:
> >
> >     ~/release$ bzr push lp:checkbox/release
> >     ~/release$ ./support/trigger-builds-in ppa:~checkbox-dev/testing
> >
> > Alternatively, instead of bzr push, propose the merge to launchpad,
> > auto-approve it and have tarmac do test package builds using the
> packaging
> > branch reference in support/packaging-revision
>
> We'd have to add a tarmac-build script for this, and amend the tarmac
> configs,
> right?
>
>
> >
> > Fixing issues found in release candidates
> > -----------------------------------------
> >
> > Off-line steps::
> >
> >     ~/release$ while ./tree-broken; do
> >     > (cd bzr && vim .)
> >     > # Hack, cherry pick from trunk, fix locally, whatever
> >     > (cd release && bzr commit)
> >     > done
> >     ~/release$ ./checkbox-old/setup.py bump-version-status --to=next-rc
> >     ~/release$ bzr tag $(./checkbox-old/setup.py
> --name)-v$(./checkbox-old/setup.py --version)
> >
> > On-line steps::
> >
> >     ~/release$ bzr push lp:checkbox/release
> >     ~/release$ ./support/trigger-builds-in ppa:~checkbox-dev/testing
> >     ~/release$ ./support/send-email --to=... --topic "Checkboc Release
> Candidate Available" <<EOM
> >     > The release candidate for the next checkbox release is available
> for
> >     > testing, please check and file bugs ... and target them to
> milestone ...
> >     >
> >     > And we should improve this message one day
> >     > EOM
> >
> > Alternatively, instead of bzr push, propose the merge to launchpad,
> > auto-approve it and have tarmac do test package builds using the
> packaging
> > branch reference in support/packaging-revision
> >
> > Finalizing the release
> > ----------------------
> >
> > Off-line steps::
> >
> >     ~/release$ ./checkbox-old/setup.py bump-version-status --to=final
> >     ~/release$ bzr tag $(./checkbox-old/setup.py
> --name)-v$(./checkbox-old/setup.py --version)
> >
> > On-line steps::
> >
> >     ~/release$ bzr push lp:checkbox/release
> >     ~/release$ ./support/trigger-builds-in ppa:~checkbox-dev/testing
> >     ~/release$ ./support/ppa-copy \
> >     >   --from=ppa:~checkbox-dev/testing \
> >     >   --to=ppa:~checkbox-dev/stable \
> >     >   --packages=...
> >     ~/release$ ./support/send-email --to=... --topic "Next checkbox
> release" <<EOM
> >     > This is the next checkbox release.\
> >     > It has been published to the stable PPA.
> >     >
> >     > And we should really improve this message one day
> >     > EOM
> >     ~/release$ bzr lp-propose-merge lp:checkbox -m "post-release merge
> back to trunk" --approve
> >
> > Impact
> > ======
> >
> > If the new process is implemented correctly impact to our customers
> should be
> > minimal. We need to communicate the purpose of the release candidate
> releases
> > but apart from that the new process mirrors the effect of our current
> process
>
> This is OK. In practice we haven't had that many fixes resulting from
> testing a
> pre-release, but this makes that part of the process a bit more formal.
>
>
>

References