From d1d14cd5402073cdbda8db3cdad807a26f0e77c1 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Fri, 26 May 2023 09:53:37 +0400 Subject: [PATCH] Add a custom release script --- package.json | 1 + scripts/release-custom.sh | 53 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100755 scripts/release-custom.sh diff --git a/package.json b/package.json index 45ecf953b..02a708ea6 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "mocha": "mocha", "ci": "bash ./scripts/ci.sh", "release": "bash ./scripts/release.sh", + "release-custom": "bash ./scripts/release-custom.sh", "release-embed-api": "bash ./scripts/release-embed-api.sh", "nightly": "bash ./scripts/nightly.sh", "openapi-clients": "bash ./scripts/openapi-clients.sh", diff --git a/scripts/release-custom.sh b/scripts/release-custom.sh new file mode 100755 index 000000000..86963372a --- /dev/null +++ b/scripts/release-custom.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -eu + +shutdown() { + # Get our process group id + # shellcheck disable=SC2009 + PGID=$(ps -o pgid= $$ | grep -o "[0-9]*") + + # Kill it in a new new process group + setsid kill -- -"$PGID" + exit 0 +} + +trap "shutdown" SIGINT SIGTERM + +if [ -z "$1" ]; then + echo "Need version as argument" + exit -1 +fi + +peertube_directory=$(basename $(pwd)) + +version="v$1" + +directory_name="peertube-$version" +zip_name="peertube-$version.zip" + +npm run build -- --source-map +rm -f "./client/dist/en-US/stats.json" +rm -f "./client/dist/embed-stats.json" + +# Creating the archives +( + # local variables + directories_to_archive=("$directory_name/CREDITS.md" "$directory_name/FAQ.md" \ + "$directory_name/LICENSE" "$directory_name/README.md" \ + "$directory_name/client/dist/" "$directory_name/client/yarn.lock" \ + "$directory_name/client/package.json" "$directory_name/config" \ + "$directory_name/dist" "$directory_name/package.json" \ + "$directory_name/scripts" "$directory_name/support" \ + "$directory_name/yarn.lock") + + # temporary setup + cd .. + ln -s "$peertube_directory" "$directory_name" + + # archive creation + zip -9 -r "$peertube_directory/$zip_name" "${directories_to_archive[@]}" + + # temporary setup destruction + rm "$directory_name" +)