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
4 changed files:
Changes:
... | ... | @@ -679,6 +679,10 @@ torbrowser-signtag-release: submodule-update |
679 | 679 | torbrowser-signtag-alpha: submodule-update
|
680 | 680 | $(rbm) build release --step signtag --target alpha --target torbrowser
|
681 | 681 | |
682 | +# requires var/devmole_auth_token to be set in rbm.local.conf
|
|
683 | +torbrowser-kick-devmole-build: submodule-update
|
|
684 | + $(rbm) build release --step kick_devmole_build --target torbrowser
|
|
685 | + |
|
682 | 686 | # requires tpo_user variable be set in rbm.local.conf
|
683 | 687 | mullvadbrowser-upload-sha256sums-release: submodule-update
|
684 | 688 | $(rbm) build release --step upload_sha256sums --target release --target mullvadbrowser
|
... | ... | @@ -693,6 +697,10 @@ mullvadbrowser-signtag-release: submodule-update |
693 | 697 | mullvadbrowser-signtag-alpha: submodule-update
|
694 | 698 | $(rbm) build release --step signtag --target alpha --target mullvadbrowser
|
695 | 699 | |
700 | +# requires var/devmole_auth_token to be set in rbm.local.conf
|
|
701 | +mullvadbrowser-kick-devmole-build: submodule-update
|
|
702 | + $(rbm) build release --step kick_devmole_build --target mullvadbrowser
|
|
703 | + |
|
696 | 704 | fetch: submodule-update
|
697 | 705 | $(rbm) fetch
|
698 | 706 |
... | ... | @@ -279,3 +279,8 @@ steps: |
279 | 279 | name: mar-tools
|
280 | 280 | pkg_type: fetch_martools
|
281 | 281 | compare_mar_signed_unsigned: '[% INCLUDE compare_mar_signed_unsigned %]'
|
282 | + kick_devmole_build:
|
|
283 | + build_log: '-'
|
|
284 | + debug: 0
|
|
285 | + input_files: []
|
|
286 | + kick_devmole_build: '[% INCLUDE kick_devmole_build %]' |
1 | +#!/usr/bin/bash
|
|
2 | + |
|
3 | +# This script triggers a build of Tor or Mullvad Browser on Mullvad Infrastructure
|
|
4 | +# Hashes are saved here: https://cdn.stagemole.eu/hashes/
|
|
5 | +# A Mullvad build server auth token (var/devmole_auth_token) is required to build
|
|
6 | +# For now you have to be connecting from Sweden (ie via Malmö or Gothenburg exits using MullvadVPN) for your request to succeed
|
|
7 | + |
|
8 | +set -e
|
|
9 | + |
|
10 | +# get our build tag
|
|
11 | +TAG=[% c("var/git_tag_prefix") %]-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]
|
|
12 | + |
|
13 | +# check for tag existence
|
|
14 | +if ! git rev-parse ${TAG} > /dev/null 2>&1; then
|
|
15 | + echo "Error: build tag '${TAG}' does not exist"
|
|
16 | + exit 1
|
|
17 | +fi
|
|
18 | + |
|
19 | +# determine whether alpha or release based on the build tag
|
|
20 | +RELEASE=
|
|
21 | +if [[ "${TAG}" =~ ^(mb|tbb)-[1-9][0-9]\.[05]a[1-9][0-9]*-build[1-9]$ ]]; then
|
|
22 | + RELEASE="alpha"
|
|
23 | +elif [[ "${TAG}" =~ ^(mb|tbb)-[1-9][0-9]\.[05](\.[1-9][0-9]*)?-build[1-9]$ ]]; then
|
|
24 | + RELEASE="release"
|
|
25 | +else
|
|
26 | + echo "Error: malformed build tag '${TAG}'"
|
|
27 | + exit 1
|
|
28 | +fi
|
|
29 | + |
|
30 | +# get auth token for submission to devmole build server
|
|
31 | +AUTH_TOKEN=[% c("buildconf/devmole_auth_token") %]
|
|
32 | +if [[ "${AUTH_TOKEN}" = "" ]]; then
|
|
33 | + echo "AUTH_TOKEN: ${AUTH_TOKEN}"
|
|
34 | + echo "Error: buildconf/devmole_auth_token missing from rbm.local.conf"
|
|
35 | + exit 1
|
|
36 | +fi
|
|
37 | + |
|
38 | +# make request
|
|
39 | +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"
|
|
40 | + |
|
41 | +echo
|
|
42 | +echo Hashes will appear here: https://cdn.stagemole.eu/hashes/[% c("var/projectname") %]/[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %] |
... | ... | @@ -42,6 +42,11 @@ buildconf: |
42 | 42 | ### signing the tag.
|
43 | 43 | #git_signtag_opt: '-u keyid'
|
44 | 44 | |
45 | + ### The buildconf/devmole_auth_token option is used for starting remote builds on
|
|
46 | + ### Mullvad's devmole server using the kick_devmole_build step in the release
|
|
47 | + ### project. Such a token can be acquired from the Mullvad sysadmins.
|
|
48 | + #devmole_auth_token: abcdefghijklmnopqrstuvwxyz012345
|
|
49 | + |
|
45 | 50 | var:
|
46 | 51 | local_conf: 1
|
47 | 52 |