[tor-commits] [Git][tpo/applications/tor-browser-build][maint-13.0] Bug 41043: Create script to push build requests to Mullvad build servers
richard (@richard)
git at gitlab.torproject.org
Tue Dec 19 12:00:27 UTC 2023
richard pushed to branch maint-13.0 at The Tor Project / Applications / tor-browser-build
Commits:
10fe31fe by Richard Pospesel at 2023-12-19T12:00:13+00:00
Bug 41043: Create script to push build requests to Mullvad build servers
- - - - -
4 changed files:
- Makefile
- projects/release/config
- + projects/release/kick_devmole_build
- rbm.local.conf.example
Changes:
=====================================
Makefile
=====================================
@@ -679,6 +679,10 @@ torbrowser-signtag-release: submodule-update
torbrowser-signtag-alpha: submodule-update
$(rbm) build release --step signtag --target alpha --target torbrowser
+# requires var/devmole_auth_token to be set in rbm.local.conf
+torbrowser-kick-devmole-build: submodule-update
+ $(rbm) build release --step kick_devmole_build --target torbrowser
+
# requires tpo_user variable be set in rbm.local.conf
mullvadbrowser-upload-sha256sums-release: submodule-update
$(rbm) build release --step upload_sha256sums --target release --target mullvadbrowser
@@ -693,6 +697,10 @@ mullvadbrowser-signtag-release: submodule-update
mullvadbrowser-signtag-alpha: submodule-update
$(rbm) build release --step signtag --target alpha --target mullvadbrowser
+# requires var/devmole_auth_token to be set in rbm.local.conf
+mullvadbrowser-kick-devmole-build: submodule-update
+ $(rbm) build release --step kick_devmole_build --target mullvadbrowser
+
fetch: submodule-update
$(rbm) fetch
=====================================
projects/release/config
=====================================
@@ -279,3 +279,8 @@ steps:
name: mar-tools
pkg_type: fetch_martools
compare_mar_signed_unsigned: '[% INCLUDE compare_mar_signed_unsigned %]'
+ kick_devmole_build:
+ build_log: '-'
+ debug: 0
+ input_files: []
+ kick_devmole_build: '[% INCLUDE kick_devmole_build %]'
=====================================
projects/release/kick_devmole_build
=====================================
@@ -0,0 +1,42 @@
+#!/usr/bin/bash
+
+# This script triggers a build of Tor or Mullvad Browser on Mullvad Infrastructure
+# Hashes are saved here: https://cdn.stagemole.eu/hashes/
+# A Mullvad build server auth token (var/devmole_auth_token) is required to build
+# For now you have to be connecting from Sweden (ie via Malmö or Gothenburg exits using MullvadVPN) for your request to succeed
+
+set -e
+
+# get our build tag
+TAG=[% c("var/git_tag_prefix") %]-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]
+
+# check for tag existence
+if ! git rev-parse ${TAG} > /dev/null 2>&1; then
+ echo "Error: build tag '${TAG}' does not exist"
+ exit 1
+fi
+
+# determine whether alpha or release based on the build tag
+RELEASE=
+if [[ "${TAG}" =~ ^(mb|tbb)-[1-9][0-9]\.[05]a[1-9][0-9]*-build[1-9]$ ]]; then
+ RELEASE="alpha"
+elif [[ "${TAG}" =~ ^(mb|tbb)-[1-9][0-9]\.[05](\.[1-9][0-9]*)?-build[1-9]$ ]]; then
+ RELEASE="release"
+else
+ echo "Error: malformed build tag '${TAG}'"
+ exit 1
+fi
+
+# get auth token for submission to devmole build server
+AUTH_TOKEN=[% c("buildconf/devmole_auth_token") %]
+if [[ "${AUTH_TOKEN}" = "" ]]; then
+ echo "AUTH_TOKEN: ${AUTH_TOKEN}"
+ echo "Error: buildconf/devmole_auth_token missing from rbm.local.conf"
+ exit 1
+fi
+
+# make request
+curl -X POST "https://drone-server.devmole.eu/api/repos/mullvad/browser-build/builds?branch=main&tag=${TAG}&release=${RELEASE}" -H "Authorization: Bearer ${AUTH_TOKEN}" -H "Accept: application/json"
+
+echo
+echo Hashes will appear here: https://cdn.stagemole.eu/hashes/[% c("var/projectname") %]/[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]
=====================================
rbm.local.conf.example
=====================================
@@ -42,6 +42,11 @@ buildconf:
### signing the tag.
#git_signtag_opt: '-u keyid'
+ ### The buildconf/devmole_auth_token option is used for starting remote builds on
+ ### Mullvad's devmole server using the kick_devmole_build step in the release
+ ### project. Such a token can be acquired from the Mullvad sysadmins.
+ #devmole_auth_token: abcdefghijklmnopqrstuvwxyz012345
+
var:
local_conf: 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/10fe31feb7efd4dd7a68364d4cb43cf54e9444a8
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/10fe31feb7efd4dd7a68364d4cb43cf54e9444a8
You're receiving this email because of your account on gitlab.torproject.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20231219/ef47bb6d/attachment-0001.htm>
More information about the tor-commits
mailing list