Up to now, on the main code view there was only link to the active
reviews. Following that link you were presented another link to "See all
merge proposals." If there were no active reviews, you had no chance to
get to the "all merge proposals" view unless you knew the URL.
Now there is a permanent link on the main code overview.
This adds `build-tarball` and `publish-tarball` make targets, which will
help us to write a Jenkins job that builds a deployment artifact and
publishes it to Swift for use by future deployment machinery.
The new `ols-vms.conf` file is to assist integration with lp:ols-jenkaas, which is where we currently do publication to Swift for
other projects.
Aside from the new build and publish scripts, I had to adjust the
existing wheel-building target a bit to also build wheels for the
packages in `requirements/setup.txt`.
It would be useful to be able to produce Launchpad deployment artifacts
that have their version information pregenerated and don't require a git
working tree. This only requires a small number of tweaks: the main one
is that we need to ensure that `talisker.config` has a usable strategy
for discovering the current revision, which is just a matter of writing
a `version-info.txt` file to go alongside `version-info.py`.
Phony targets in Makefiles are those that don't correspond to a real
file name. Launchpad previously declared all these in one go at the end
of its Makefile, but this was hard to read and it was easy for them to
get out of sync (there were a few entries that didn't correspond to
actual targets any more). Instead, move all the declarations to be
immediately before the target in question.
I went through all the existing targets and added phony declarations for
a few that were previously missing. There were also a few existing
phony declarations for targets that do correspond to real file names
(`$(LP_JS_BUILD)`, `TAGS`, and `tags`): these appear to have been
deliberate in order to make sure that these targets are always rebuilt,
so I left those in place.