X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Frelease.sh;h=87ac891315305a074eeb213b4e728989d8b3fb24;hb=04ed10b21e8e1339514faae0bb690e4d97c23b0a;hp=6f4da6a29c58f2d145a422dfa005d696e1100b0f;hpb=0e4ffb4b678962d5ff7a4a7d8952033bc84725da;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/release.sh b/scripts/release.sh index 6f4da6a29..87ac89131 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -4,6 +4,7 @@ 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 @@ -32,10 +33,11 @@ fi version="v$1" directory_name="peertube-$version" zip_name="peertube-$version.zip" +tar_name="peertube-$version.tar.xz" changelog=$(awk -v version="$version" '/## v/ { printit = $2 == version }; printit;' CHANGELOG.md | grep -v "$version" | sed '1{/^$/d}') -printf "Changelog will be:\n%s\n" "$changelog" +printf "Changelog will be:\\n%s\\n" "$changelog" read -p "Are you sure to release? " -n 1 -r echo @@ -44,7 +46,8 @@ then exit 0 fi -( cd client +( + cd client npm version --no-git-tag-version --no-commit-hooks "$1" ) @@ -56,31 +59,49 @@ git tag -s -a "$version" -m "$version" npm run build rm "./client/dist/stats.json" -cd .. - -ln -s "PeerTube" "$directory_name" -zip -r "PeerTube/$zip_name" "$directory_name/CREDITS.md" "$directory_name/FAQ.md" \ +# 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/tsconfig.json" "$directory_name/yarn.lock" + "$directory_name/tsconfig.json" "$directory_name/yarn.lock") + maintainer_pubkey = "583A612D890159BE" + + # temporary setup + cd .. + ln -s "PeerTube" "$directory_name" -rm "$directory_name" + # archive creation + signing + zip -r "PeerTube/$zip_name" "${directories_to_archive[@]}" + gpg --armor --detach-sign -u $maintainer_pubkey "PeerTube/$zip_name" + XZ_OPT=-e9 tar cfJ "PeerTube/$tar_name" "${directories_to_archive[@]}" + gpg --armor --detach-sign -u $maintainer_pubkey "PeerTube/$tar_name" -cd "PeerTube" + # temporary setup destruction + rm "$directory_name" +) -git push origin --tag +# Creating the release on GitHub, with the created archives +( + cd "PeerTube" -github-release release --user chocobozzz --repo peertube --tag "$version" --name "$version" --description "$changelog" -github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$zip_name" --file "$zip_name" + git push origin --tag -git push origin develop + github-release release --user chocobozzz --repo peertube --tag "$version" --name "$version" --description "$changelog" + github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$zip_name" --file "$zip_name" + github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$zip_name.asc" --file "$zip_name.asc" + github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name" --file "$tar_name" + github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name.asc" --file "$tar_name.asc" -# Update master branch -git checkout master -git rebase develop -git push origin master -git checkout develop + git push origin develop + # Update master branch + git checkout master + git rebase develop + git push origin master + git checkout develop +)