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
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
exit 0
fi
-( cd client
+(
+ cd client
npm version --no-git-tag-version --no-commit-hooks "$1"
)
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" \
- "$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"
-
-rm "$directory_name"
-
-cd "PeerTube"
+# Creating the archives
+(
+ cd ..
+ ln -s "PeerTube" "$directory_name"
+ zip -r "PeerTube/$zip_name" "$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"
+ gpg --armor --detach-sign -u 583A612D890159BE "PeerTube/$zip_name"
+ tar cfJ "PeerTube/$tar_name" "$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"
+ gpg --armor --detach-sign -u 583A612D890159BE "PeerTube/$tar_name"
+
+ 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
+)