2017-12-26 04:01:33 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
if [[ $# -eq 0 ]] ; then
|
|
|
|
echo "Missing argument of new version"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
VERSION=$1
|
|
|
|
|
|
|
|
if ! [[ ${VERSION} =~ ^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}(-.+)?$ ]] ;
|
|
|
|
then
|
|
|
|
echo "Version ${VERSION} isn't in format X.Y.Z"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! git diff-index --quiet HEAD --; then
|
|
|
|
echo "There are uncommitted changes"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
echo "Releasing Trilium $VERSION"
|
|
|
|
|
2017-12-26 09:45:59 +08:00
|
|
|
jq '.version = "'$VERSION'"' package.json|sponge package.json
|
2017-12-26 04:01:33 +08:00
|
|
|
|
2017-12-26 10:06:35 +08:00
|
|
|
git add package.json
|
|
|
|
|
2018-04-10 10:30:11 +08:00
|
|
|
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
|
2017-12-26 10:05:08 +08:00
|
|
|
|
2018-04-10 10:30:11 +08:00
|
|
|
git add src/services/build.js
|
2017-12-26 10:06:35 +08:00
|
|
|
|
2017-12-26 04:01:33 +08:00
|
|
|
TAG=v$VERSION
|
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
echo "Committing package.json version change"
|
|
|
|
|
|
|
|
git commit -m "release $VERSION"
|
2017-12-26 04:01:33 +08:00
|
|
|
git push
|
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
echo "Tagging commit with $TAG"
|
|
|
|
|
2017-12-26 04:01:33 +08:00
|
|
|
git tag $TAG
|
|
|
|
git push origin $TAG
|
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
bin/build.sh
|
2017-12-26 04:01:33 +08:00
|
|
|
|
2019-01-15 07:10:47 +08:00
|
|
|
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.xz
|
2019-01-13 02:48:45 +08:00
|
|
|
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
|
|
|
|
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
|
2019-01-15 07:10:47 +08:00
|
|
|
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
|
2017-12-26 04:01:33 +08:00
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
echo "Creating release in GitHub"
|
|
|
|
|
2018-12-02 07:26:45 +08:00
|
|
|
EXTRA=
|
|
|
|
|
|
|
|
if [[ $TAG == *"beta"* ]]; then
|
|
|
|
EXTRA=--pre-release
|
|
|
|
fi
|
|
|
|
|
2017-12-26 04:01:33 +08:00
|
|
|
github-release release \
|
|
|
|
--tag $TAG \
|
2018-12-02 07:26:45 +08:00
|
|
|
--name "$TAG release" $EXTRA
|
2017-12-26 04:01:33 +08:00
|
|
|
|
2017-12-28 06:39:41 +08:00
|
|
|
echo "Uploading linux x64 build"
|
2017-12-26 10:05:08 +08:00
|
|
|
|
2017-12-26 04:01:33 +08:00
|
|
|
github-release upload \
|
|
|
|
--tag $TAG \
|
2017-12-28 06:39:41 +08:00
|
|
|
--name "$LINUX_X64_BUILD" \
|
|
|
|
--file "dist/$LINUX_X64_BUILD"
|
2017-12-26 04:01:33 +08:00
|
|
|
|
2017-12-28 06:39:41 +08:00
|
|
|
echo "Uploading windows x64 build"
|
|
|
|
|
|
|
|
github-release upload \
|
|
|
|
--tag $TAG \
|
|
|
|
--name "$WINDOWS_X64_BUILD" \
|
|
|
|
--file "dist/$WINDOWS_X64_BUILD"
|
2017-12-26 10:05:08 +08:00
|
|
|
|
2018-12-02 07:26:45 +08:00
|
|
|
echo "Uploading mac x64 build"
|
|
|
|
|
|
|
|
github-release upload \
|
|
|
|
--tag $TAG \
|
|
|
|
--name "$MAC_X64_BUILD" \
|
|
|
|
--file "dist/$MAC_X64_BUILD"
|
|
|
|
|
2018-12-02 15:42:11 +08:00
|
|
|
echo "Uploading linux x64 server build"
|
2018-07-06 06:05:06 +08:00
|
|
|
|
|
|
|
github-release upload \
|
|
|
|
--tag $TAG \
|
|
|
|
--name "$SERVER_BUILD" \
|
|
|
|
--file "dist/$SERVER_BUILD"
|
|
|
|
|
|
|
|
echo "Building docker image"
|
|
|
|
|
2018-06-11 03:06:52 +08:00
|
|
|
bin/build-docker.sh $VERSION
|
|
|
|
|
2018-07-06 06:05:06 +08:00
|
|
|
echo "Pushing docker image to dockerhub"
|
|
|
|
|
2018-06-11 03:06:52 +08:00
|
|
|
bin/push-docker-image.sh $VERSION
|
|
|
|
|
2017-12-26 10:05:08 +08:00
|
|
|
echo "Release finished!"
|