From 7c5ff7b0f67d6c69d99ff6152b58778c32b5d204 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 26 Nov 2024 11:37:50 +0100 Subject: Release scripts: Move to Codeberg --- make_release.sh | 44 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) (limited to 'make_release.sh') diff --git a/make_release.sh b/make_release.sh index 7f55ebd..02affb0 100755 --- a/make_release.sh +++ b/make_release.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # This script was adapted from fkooman: https://git.sr.ht/~fkooman/vpn-daemon/tree/main/item/make_release.sh. Thanks! # @@ -8,23 +8,24 @@ # Fail if error set -e -# change these to your liking -BRANCH=main -IS_PRERELEASE=true -REPO="eduvpn/eduvpn-common" - -# make a fresh clone -rm -rf /tmp/eduvpn-common -git clone "https://github.com/$REPO" /tmp/eduvpn-common -cd /tmp/eduvpn-common -git checkout ${BRANCH} - echo "building $(git log -n 1 | head -n 1)" +BRANCH="main" PROJECT_NAME=$(basename "${PWD}") PROJECT_VERSION=$(grep -o 'const Version = "[^"]*' internal/version/version.go | cut -d '"' -f 2) +PRERELEASE=false + +while [[ "$#" -gt 0 ]]; do + case $1 in + -p|--prerelease) PRERELEASE=true ;; + -v|--version) PROJECT_VERSION="$2"; shift ;; + *) echo "Unknown parameter passed: $1"; exit 1 ;; + esac + shift +done + RELEASE_DIR="${PWD}/release" KEY_ID=227FF3F8F829D9A9314D9EBA02BB8048BBFF222C -if [ "$IS_PRERELEASE" = true ]; then +if [ "$PRERELEASE" = true ]; then KEY_ID=7A73D62AD0F084571A32C960D57104BF9B223CBF fi @@ -33,11 +34,6 @@ if ! command -v "tar" &>/dev/null; then exit 1 fi -if ! command -v "gh" &>/dev/null; then - echo "please install the GitHub CLI for creating releases" - exit 1 -fi - if ! command -v "wget" &>/dev/null; then echo "please install wget for getting the discovery files" exit 1 @@ -88,15 +84,3 @@ rm -rf "${PROJECT_NAME}-${PROJECT_VERSION}" echo "signing using gpg and minisign" gpg --default-key ${KEY_ID} --armor --detach-sign "${RELEASE_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.tar.xz" minisign -Sm "${RELEASE_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.tar.xz" - -# upload the release with the github cli tool, this also creates a tag -CHANGES_TRIM=$(sed "/^# $PROJECT_VERSION/,/^#/!d;//d" "CHANGES.md") - -if [ "$IS_PRERELEASE" = true ]; then - CHANGES=$(printf "These pre-releases are signed with \`keys/app+linux+dev@eduvpn.org.asc\` and \`keys/minisign-CA9409316AC93C07.pub\`\nChangelog:\n%s" "${CHANGES_TRIM}") - gh release create "${PROJECT_VERSION}" --target "${BRANCH}" --title "${PROJECT_VERSION}" --notes "${CHANGES}" --prerelease --repo "$REPO" -else - CHANGES=$(printf "These releases are signed with \`keys/app+linux@eduvpn.org.asc\` and \`keys/minisign-CA9409316AC93C07.pub\`\nChangelog:\n%s" "${CHANGES_TRIM}") - gh release create "${PROJECT_VERSION}" --target "${BRANCH}" --title "${PROJECT_VERSION}" --notes "${CHANGES}" --repo "$REPO" -fi -gh release upload "${PROJECT_VERSION}" "${RELEASE_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.tar.xz" --repo "$REPO" "${RELEASE_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.tar.xz.asc" "${RELEASE_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.tar.xz.minisig" -- cgit v1.2.3