summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar <oskar@mullvad.net>2025-03-07 16:06:41 +0100
committerOskar <oskar@mullvad.net>2025-03-09 21:11:09 +0100
commit24f16f2782aeb81bac45f9eac6b5a63d7bd72042 (patch)
treef1186b5cfb6668d426a07f6eee717b9183d8fb17
parent8e395245443b1971687260bae6e03c711c460845 (diff)
downloadmullvadvpn-24f16f2782aeb81bac45f9eac6b5a63d7bd72042.tar.xz
mullvadvpn-24f16f2782aeb81bac45f9eac6b5a63d7bd72042.zip
Make it possible to run 4-make-release standalone
-rwxr-xr-xdesktop/scripts/release/4-make-release44
1 files changed, 30 insertions, 14 deletions
diff --git a/desktop/scripts/release/4-make-release b/desktop/scripts/release/4-make-release
index 4514d27c7e..d3ba66a753 100755
--- a/desktop/scripts/release/4-make-release
+++ b/desktop/scripts/release/4-make-release
@@ -9,16 +9,25 @@ 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[^\]]+')