commit 0f019cf3aa17c6b77bb8126a9c4bdf47886238cb Author: Nicolas Vigier boklm@torproject.org Date: Mon Oct 7 18:16:06 2019 +0200
Bug 25099: Set nightly version to tbb-nightly.$year.$month.$day
Include the current day in the nightly version number, so that each build gets a different version number.
We get this version number using a perl function, and a "state" variable, so that the day when the build was started is used. This avoids issues when a build is started on a day but finishs on a different day.
In the nightly directory, the builds are now stored using the version instead of just the date.
We also allow overriding this version number by using the TORBROWSER_NIGHTLY_VERSION environment variable. This could be useful for example if you need to generate incremental mars for the version from the previous day. --- README | 2 +- projects/firefox/get-moz-build-date | 5 ++--- projects/release/config | 3 +-- rbm.conf | 9 ++++++++- 4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/README b/README index 6dc5112..d77a460 100644 --- a/README +++ b/README @@ -62,7 +62,7 @@ channel you want to build:
You can find the build result in the directory release/unsigned/$version or alpha/unsigned/$version for release or alpha builds. The result of -nightly can be found in the nightly/$date directory. +nightly can be found in the nightly/$version directory.
If you want to build for a specific platform only, append the platform name to the makefile target: diff --git a/projects/firefox/get-moz-build-date b/projects/firefox/get-moz-build-date index 4e55c92..e6989ff 100755 --- a/projects/firefox/get-moz-build-date +++ b/projects/firefox/get-moz-build-date @@ -6,9 +6,8 @@ use strict; die "wrong number of arguments" unless @ARGV == 2; my ($year, $version) = @ARGV; my $date; -if ($version eq 'tbb-nightly') { - my (undef, undef, undef, $day, $mon, $y) = localtime; - $date = sprintf("%d%02d%02d010101", $y + 1900, $mon + 1, $day); +if ($version =~ m/^tbb-nightly.([^.]+).([^.]+).([^.]+)$/) { + $date = sprintf("%d%02d%02d010101", $1, $2, $3); } else { my @v = split(/[.ab]/, $version); push @v, '0' if @v < 4; diff --git a/projects/release/config b/projects/release/config index c705a6f..17db3d0 100644 --- a/projects/release/config +++ b/projects/release/config @@ -4,7 +4,6 @@ output_dir: release
var: signed_status: unsigned - today: '[% USE date; date.format(format = "%Y-%m-%d") %]' publish_dir: '[% c("var/signed_status") %]/[% c("version") %]-[% c("var/torbrowser_build") %]' containers_target: with_containers
@@ -74,7 +73,7 @@ targets: output_dir: 'nightly' var: build_target: nightly - publish_dir: '[% c("var/today") %]' + publish_dir: '[% c("version") %]'
alpha: output_dir: alpha diff --git a/rbm.conf b/rbm.conf index 4a90ccc..f0ae4f9 100644 --- a/rbm.conf +++ b/rbm.conf @@ -147,7 +147,7 @@ targets: var: nightly: 1 channel: nightly - torbrowser_version: tbb-nightly + torbrowser_version: '[% ENV.TORBROWSER_NIGHTLY_VERSION ? ENV.TORBROWSER_NIGHTLY_VERSION : c("var_p/nightly_torbrowser_version") %]'
torbrowser-testbuild: - testbuild @@ -508,5 +508,12 @@ ENV: my ($out) = capture_exec('sudo', 'runc', '--version'); return $out =~ m/^.*spec: 1.[0-9]+.[0-9]+(?:-dev)?$/m; }, + nightly_torbrowser_version => sub { + state $version = ''; + return $version if $version; + my (undef, undef, undef, $day, $mon, $year) = gmtime; + $version = sprintf("tbb-nightly.%u.%02u.%02u", $year + 1900, $mon + 1, $day); + return $version; + }, }, )