Hello,
We now have some automated tests run on TBB nightly builds, and also on new releases: https://people.torproject.org/~boklm/tbbtests/
For the new releases, the script needs to know the version number of that release to be able to download it. Currently, I am updating the version number in this file when there is a new one to be tested: https://gitweb.torproject.org/boklm/tor-browser-bundle-testsuite.git/blob/HE...
However, I think that maybe we should have a file somewhere on a git repository, where we write the version number of a new release that needs to be tested. This versions file could be also used by an other script to trigger new builds. So in addition to version numbers it can contain a commit hash, and build type (the makefile rule we need to use: normal build, beta or alpha).
Later we can think about using it for other things too: upload of new versions to mirrors, removal of old versions, website update, update of recommended version file, etc ...
I am thinking about a yaml file that look like this:
---- tbbversions: 3.5.4: type: release build_commit: ada623c4cbc145521980e6bce08611cff7e81cad 3.6-beta-2: type: beta build_commit: ada623c4cbc145521980e6bce08611cff7e81cad ----
We can put this file in a git repository where all commits are signed (with git commit -S), and the scripts that use it check the signatures when pulling (with git pull --verify-signatures). We can use something like this to do that: https://gitweb.torproject.org/boklm/tor-browser-bundle-testsuite.git/blob/HE...
Then it would work like this:
- a script check this version file, and if there is a new version defined in the file that has not been built yet, starts a new build, and upload it to people.torproject.org if the build is successful.
- the script that run automated tests check this version file, and when a version defined in this file is available from at least two builders on people.torproject.org, starts running the tests.
What do you think about this ?