diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2025-04-08 09:40:44 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2025-04-08 09:40:44 +0200 |
| commit | ca7eba52b5ac9a63ba6d53747dbf9463cae19b33 (patch) | |
| tree | 9eda90681cf7701a2762dc5815c3735b83e477d1 | |
| parent | 666455314b4339d7ee5200e750bf0c67631373a0 (diff) | |
| parent | 1e15295e9a23d5ed2ce866ea70434845c4bb193b (diff) | |
| download | mullvadvpn-ca7eba52b5ac9a63ba6d53747dbf9463cae19b33.tar.xz mullvadvpn-ca7eba52b5ac9a63ba6d53747dbf9463cae19b33.zip | |
Merge branch 'small-desktop-release-fixes'
| -rwxr-xr-x | desktop/scripts/release/4-make-release | 8 | ||||
| -rwxr-xr-x | desktop/scripts/release/5-update-and-publish-metadata | 27 | ||||
| -rwxr-xr-x | desktop/scripts/release/download-release-artifacts | 11 | ||||
| -rw-r--r-- | desktop/scripts/release/release-config.sh | 8 |
4 files changed, 30 insertions, 24 deletions
diff --git a/desktop/scripts/release/4-make-release b/desktop/scripts/release/4-make-release index 71f52a2acd..7274e50056 100755 --- a/desktop/scripts/release/4-make-release +++ b/desktop/scripts/release/4-make-release @@ -27,10 +27,10 @@ fi PRODUCT_VERSION=$1 -ARTIFACT_DIR="./artifacts" +# shellcheck source=desktop/scripts/release/release-config.sh +source "$SCRIPT_DIR/release-config.sh" -rm -rf $ARTIFACT_DIR -mkdir -p $ARTIFACT_DIR +rm -rf "$ARTIFACT_DIR" && mkdir -p "$ARTIFACT_DIR" || exit 1 function publish_release { echo ">>> Downloading changelog" @@ -85,5 +85,5 @@ function publish_release { echo "The above URL contains the text \"untagged\", but don't worry it is tagged properly and everything will look correct once it's published." } -./download-release-artifacts "$PRODUCT_VERSION" +./download-release-artifacts "$PRODUCT_VERSION" "$ARTIFACT_DIR" publish_release diff --git a/desktop/scripts/release/5-update-and-publish-metadata b/desktop/scripts/release/5-update-and-publish-metadata index dd72c2d948..9c1e1d8417 100755 --- a/desktop/scripts/release/5-update-and-publish-metadata +++ b/desktop/scripts/release/5-update-and-publish-metadata @@ -1,7 +1,9 @@ #!/usr/bin/env bash # This script downloads the build artifacts along with the signatures, verifies the signatures and -# publishes new version metadata to Mullvads API. This should be run after `4-make-release`. +# publishes new version metadata to Mullvads API. +# * This should be run after `4-make-release`. +# * You need to put the private ed25519 signing key in the clipboard before running this script. set -eu @@ -19,21 +21,14 @@ if [ $# -ne 3 ]; then exit 1 fi -# Duplicated from /scripts/utils/gh-ready-check -if ! command -v gh > /dev/null; then - echo "gh (GitHub CLI) is required to run this script" - exit 1 -fi -if ! gh auth status > /dev/null; then - echo "Authentication through gh (GitHub CLI) is required to run this script" - exit 1 -fi - PRODUCT_VERSION=$1 +# The hostname (can be the alias in your ~/.ssh/config) of the build server BUILDSERVER_HOST=$2 +# The server to upload the metadata to *from* the build server (argument above) METADATA_SERVER_HOST=$3 -ARTIFACT_DIR="./artifacts" +# shellcheck source=desktop/scripts/release/release-config.sh +source "$SCRIPT_DIR/release-config.sh" function publish_metadata { local platforms @@ -55,11 +50,11 @@ function publish_metadata { echo "" echo ">>> Adding new release $PRODUCT_VERSION (rollout = 1)" - mullvad-release add-release "$PRODUCT_VERSION" "${platforms[@]}" 1 + mullvad-release add-release "$PRODUCT_VERSION" --rollout 1 "${platforms[@]}" echo "" - echo ">>> Signing $PRODUCT_VERSION metadata" - mullvad-release sign "${platforms[@]}" + echo ">>> Signing $PRODUCT_VERSION metadata. Reading signing key from clipboard" + xclip -sensitive | mullvad-release sign "${platforms[@]}" echo "" echo ">>> Verifying signed metadata" @@ -79,6 +74,6 @@ function remove_release_artifacts { rm -r "$ARTIFACT_DIR" } -./download-release-artifacts "$PRODUCT_VERSION" +./download-release-artifacts "$PRODUCT_VERSION" "$ARTIFACT_DIR" publish_metadata remove_release_artifacts diff --git a/desktop/scripts/release/download-release-artifacts b/desktop/scripts/release/download-release-artifacts index 8e8a77f0ad..aec0fbfe3e 100755 --- a/desktop/scripts/release/download-release-artifacts +++ b/desktop/scripts/release/download-release-artifacts @@ -7,19 +7,22 @@ set -eu SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" -if [ $# -ne 1 ]; then +if [ $# -ne 2 ]; then echo "Please provide the following arguments:" echo " $(basename "$0") \\" - echo " <product version>" + echo " <product version> \\" + echo " <artifact download directory> " exit 1 fi +# The app version to download PRODUCT_VERSION=$1 +# The directory where the artifacts will be downloaded to +ARTIFACT_DIR=$2 -ARTIFACT_DIR="./artifacts" URL_BASE="https://releases.mullvad.net/desktop/releases" -mkdir -p $ARTIFACT_DIR +mkdir -p "$ARTIFACT_DIR" # The signer key file "mullvad-code-signing-key.asc" is expected to exist in the current working directory. SIGNER_KEY_FILE="./mullvad-code-signing-key.asc" diff --git a/desktop/scripts/release/release-config.sh b/desktop/scripts/release/release-config.sh new file mode 100644 index 0000000000..3e053da880 --- /dev/null +++ b/desktop/scripts/release/release-config.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Configuration variables shared between the release scripts in this directory. + +# Where to download app installers locally during the release process. +# This value is also hardcoded into the `mullvad-release` binary and +# has to be in sync with that value +export ARTIFACT_DIR="artifacts" |
