]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - scripts/release.sh
2864232a4b3ee5800e53c5157ea9c4cdbf8f5a62
[github/Chocobozzz/PeerTube.git] / scripts / release.sh
1 #!/bin/bash
2
3 shutdown() {
4 # Get our process group id
5 PGID=$(ps -o pgid= $$ | grep -o [0-9]*)
6
7 # Kill it in a new new process group
8 setsid kill -- -$PGID
9 exit 0
10 }
11
12 trap "shutdown" SIGINT SIGTERM
13
14 if [ -z "$1" ]; then
15 echo "Need version as argument"
16 exit -1
17 fi
18
19 if [ -z $GITHUB_TOKEN ]; then
20 echo "Need GITHUB_TOKEN env set."
21 exit -1
22 fi
23
24 version="v$1"
25 directory_name="peertube-$version"
26 zip_name="peertube-$version.zip"
27
28 cd ./client || exit -1
29 npm version --no-git-tag-version --no-commit-hooks $1 || exit -1
30
31 cd ../ || exit -1
32 npm version -f --no-git-tag-version --no-commit-hooks $1 || exit -1
33
34 git commit package.json client/package.json -m "Bumped to version $version" || exit -1
35 git tag -s -a "$version" -m "$version"
36
37 npm run build || exit -1
38
39 cd ../ || exit -1
40
41 ln -s "PeerTube" "$directory_name" || exit -1
42 zip -r "PeerTube/$zip_name" "$directory_name/CREDITS.md" "$directory_name/FAQ.md" \
43 "$directory_name/LICENSE" "$directory_name/README.md" \
44 "$directory_name/client/dist/" "$directory_name/client/yarn.lock" \
45 "$directory_name/client/package.json" "$directory_name/config" \
46 "$directory_name/dist" "$directory_name/package.json" \
47 "$directory_name/scripts" "$directory_name/support" \
48 "$directory_name/tsconfig.json" "$directory_name/yarn.lock" \
49 || exit -1
50 rm "$directory_name" || exit -1
51
52 cd "PeerTube" || exit -1
53
54 git push origin --tag
55
56 github-release release --user chocobozzz --repo peertube --tag "$version" --name "$version"
57 github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$zip_name" --file "$zip_name"