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?branc..." -H "Authorization: Bearer ${AUTH_TOKEN}" -H "Accept: application/json" + +echo +echo Hashes will appear here: https://cdn.stagemole.eu/hashes/%5B% 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/10...