... | @@ -4,7 +4,7 @@ Release Process Overview |
... | @@ -4,7 +4,7 @@ Release Process Overview |
|
After a release of Spot we expect: the release to be tagged in the git repository, the tarball to be available, Debian packages for both stable and unstable distributions to be available, the web site to be updated with the correct links and documentation, a mail to be have been sent to spot-announce,
|
|
After a release of Spot we expect: the release to be tagged in the git repository, the tarball to be available, Debian packages for both stable and unstable distributions to be available, the web site to be updated with the correct links and documentation, a mail to be have been sent to spot-announce,
|
|
the next branch of the git repository to be ready to continue development with a different version number.
|
|
the next branch of the git repository to be ready to continue development with a different version number.
|
|
|
|
|
|
Part of the above process it automated. In particular the web pages are automatically constructed from the stable Debian packages. But a large part of the work is still done manually. Use the following check list.
|
|
Part of the above process it automated. In particular the web pages are automatically constructed from the stable Debian packages. But a part of the work is still done manually. Use the following check list.
|
|
|
|
|
|
We use `master`to prepare maintenance releases, and `next` for major releases. Usually `master` has a collection of bug-fixes cherry-picked from `next`. Depending of whether we make maintenance release (x.y.z) or a major release (x.y), we will work from `master` or `next` for the procdure below.
|
|
We use `master`to prepare maintenance releases, and `next` for major releases. Usually `master` has a collection of bug-fixes cherry-picked from `next`. Depending of whether we make maintenance release (x.y.z) or a major release (x.y), we will work from `master` or `next` for the procdure below.
|
|
|
|
|
... | @@ -30,14 +30,12 @@ The day of the release: |
... | @@ -30,14 +30,12 @@ The day of the release: |
|
- commit the above version change locally
|
|
- commit the above version change locally
|
|
- tag the above commit with `git tag -a spot-X-Y-Z` where X-Y-Z corresponds to version X.Y.Z.
|
|
- tag the above commit with `git tag -a spot-X-Y-Z` where X-Y-Z corresponds to version X.Y.Z.
|
|
- adjust the branches (using hard resets or forward merges) so that master and stable point to the current commit
|
|
- adjust the branches (using hard resets or forward merges) so that master and stable point to the current commit
|
|
- push master, stable, and next (if changed) on the server, using the `--tags` option to send the tag as well (the tag must be in the repository *before* you attempt to build the Debian packages)
|
|
- push stable to the server, using the `--tags` option to send the tag as well (the tag must be in the repository *before* you attempt to build the Debian packages)
|
|
- trigger a build of the stable Debian packages (branch stable), and unstable (branch next) if it was modified.
|
|
- on branch, `master`, add `.dev` the the version number, update `NEWS` for this version, merge `master` into `next`, and push both `master` and `next`.
|
|
- while the packages are built, prepare the announcement mail for spot-announce
|
|
- jump to the pipelines for spot, and cancel the duplicate pipeline for `master`, keeping only `stable` and `next`
|
|
- once the Debian packages are built, trigger a build of spot-www to update the docker containing the web-server
|
|
- while waiting for the `stable` pipeline [![stable status](https://gitlab.lrde.epita.fr/spot/spot/badges/next/pipeline.svg)](https://gitlab.lrde.epita.fr/spot/spot/commits/stable) and the `next` [![next status](https://gitlab.lrde.epita.fr/spot/spot/badges/next/pipeline.svg)](https://gitlab.lrde.epita.fr/spot/spot/commits/next) pipeline to finish, prepare the announcement mail for spot-announce
|
|
(Note that the web site and official tarball are generated from the stable packages, while the sandbox is generated from the unstable packages.)
|
|
- both the `stable` and `next` pipelines will trigger builds of `spot-web` project, but one build will create the main website, and the other will create the development one. The `next` pipeline also trigger a build of the `spot-sandbox` image. All those web containers are simply pushed to our docker registry, and they get deployed by a crontab that runs at xx:20 every hour.
|
|
- wait for the next hour (the web server is updated by a crontab that runs at xx:20 every hour)
|
|
- once the new web server is running well, send the announcement email
|
|
- check that the new web server is running well
|
|
|
|
- send the announcement email
|
|
|
|
- add `.dev` to the version number in `configure.ac`, and add an empty entry at the top of `NEWS` with this version number
|
|
- add `.dev` to the version number in `configure.ac`, and add an empty entry at the top of `NEWS` with this version number
|
|
- commit this change on master, and merge it into next (do not update `stable`, which should point to the release).
|
|
- commit this change on master, and merge it into next (do not update `stable`, which should point to the release).
|
|
- update this page with any step that you found incorrect or missing |
|
- update this page with any step that you found incorrect or missing |