summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar <oskar@mullvad.net>2025-03-10 09:02:05 +0100
committerOskar <oskar@mullvad.net>2025-03-10 09:02:05 +0100
commit9f0d191454aeb0d8ef78ceed0b09220747a8762a (patch)
treea9947c9035e083a45e245129997153091bcdef4e
parent8e395245443b1971687260bae6e03c711c460845 (diff)
parenta55505b1cc8e6049664d2b54f4d69cf2f6ea525f (diff)
downloadmullvadvpn-9f0d191454aeb0d8ef78ceed0b09220747a8762a.tar.xz
mullvadvpn-9f0d191454aeb0d8ef78ceed0b09220747a8762a.zip
Merge branch 'fix-4-make-release'
-rwxr-xr-xdesktop/scripts/release/4-make-release49
1 files changed, 33 insertions, 16 deletions
diff --git a/desktop/scripts/release/4-make-release b/desktop/scripts/release/4-make-release
index 4514d27c7e..9939acb8ee 100755
--- a/desktop/scripts/release/4-make-release
+++ b/desktop/scripts/release/4-make-release
@@ -2,23 +2,32 @@
# This script downloads the build artifacts along with the signatures, verifies the signatures and
# creates a GitHub draft release. This should be run after `3-verify-build`.
-# This also publishes new version metadata
+# This will also publish new version metadata
set -eu
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR"
-REPO_ROOT=../../../
-PRODUCT_VERSION_PATH=$REPO_ROOT/dist-assets/desktop-product-version.txt
-PRODUCT_VERSION=$(cat $PRODUCT_VERSION_PATH)
+if [ $# -lt 1 ]; then
+ echo "Please provide the following arguments:"
+ echo " $(basename "$0") <product version>"
+ exit 1
+fi
-$REPO_ROOT/scripts/utils/gh-ready-check
+# 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
-REPO_URL="git@github.com:mullvad/mullvadvpn-app"
ARTIFACT_DIR="./artifacts"
-REPO_DIR=$(mktemp -d)
-CHANGELOG_PATH="$REPO_DIR/CHANGELOG.md"
URL_BASE="https://releases.mullvad.net/desktop/releases"
rm -rf $ARTIFACT_DIR
@@ -45,7 +54,7 @@ function download_and_verify {
exit 1
fi
echo ""
- echo "GOOD SIGNATURE IN $pkg_filename"
+ echo "GOOD SIGNATURE FOR $pkg_filename"
echo ""
done
}
@@ -89,22 +98,29 @@ function publish_metadata {
}
function publish_release {
- echo ">>> Cloning repository to extract changelog"
- git clone --depth 1 --branch "$PRODUCT_VERSION" $REPO_URL "$REPO_DIR" 2> /dev/null > /dev/null
- (cd "$REPO_DIR" && git verify-tag "$PRODUCT_VERSION")
- echo ""
+ echo ">>> Downloading changelog"
+ local changelog_path
+ changelog_path=$(mktemp)
+ curl -o "$changelog_path" --progress-bar \
+ "https://raw.githubusercontent.com/mullvad/mullvadvpn-app/refs/tags/$PRODUCT_VERSION/CHANGELOG.md"
changelog_end_version_pattern="20[0-9]\{2\}\.[0-9]\{1,2\}"
if [[ $PRODUCT_VERSION == *-beta* ]]; then
changelog_end_version_pattern=".*"
fi
- changelog_extract=$(sed -n "/^## \[$PRODUCT_VERSION\]/,/^## \[$changelog_end_version_pattern\]/p" "$CHANGELOG_PATH")
+ changelog_extract=$(sed -n "/^## \[$PRODUCT_VERSION\]/,/^## \[$changelog_end_version_pattern\]/p" "$changelog_path")
changelog=$(echo "$changelog_extract" | sed '$d' | \
awk 'NF { last = last ? last ORS $0 : $0 } END { print last }')
- release_flags=( --draft --verify-tag --notes-file - --title "$PRODUCT_VERSION" )
+ release_flags=(
+ --draft
+ --repo "git@github.com:mullvad/mullvadvpn-app"
+ --verify-tag
+ --notes-file -
+ --title "$PRODUCT_VERSION"
+ )
previous_release=$(echo "$changelog_extract" | tail -1 | grep -oP '## \[\K[^\]]+')
@@ -131,5 +147,6 @@ function publish_release {
}
download_and_verify
-publish_metadata
+# TODO: Uncomment before releasing installer downloader
+# publish_metadata
publish_release