Add a release actions

Github workflows to create a nightly release automatically and a
stable release semi-automatic (a 2-step process).
This commit is contained in:
eikek
2021-05-31 00:08:30 +02:00
parent d7363b9c8e
commit 71b913b19f
5 changed files with 198 additions and 18 deletions

View File

@ -10,25 +10,50 @@ if [[ $version == v* ]]; then
version="${version:1}"
fi
set -e
cd "$(dirname "$0")"
echo "============ Building Tools ============"
docker build \
--build-arg version=$version \
--tag docspell/tools:v$version \
--tag docspell/tools:latest \
-f tools.dockerfile .
if [[ $version == *SNAPSHOT* ]]; then
echo ">>>> Building nightly images for $version <<<<<"
url_base="https://github.com/eikek/docspell/releases/download/nightly"
echo "============ Building Restserver ============"
docker build \
--build-arg version=$version \
--tag docspell/restserver:v$version \
--tag docspell/restserver:latest \
-f restserver.dockerfile .
echo "============ Building Tools ============"
docker build \
--build-arg tools_url="$url_base/docspell-tools-$version.zip" \
--tag docspell/tools:nightly \
-f tools.dockerfile .
echo "============ Building Joex ============"
docker build \
--build-arg version=$version \
--tag docspell/joex:v$version \
--tag docspell/joex:latest \
-f joex.dockerfile .
echo "============ Building Restserver ============"
docker build \
--build-arg restserver_url="$url_base/docspell-restserver-$version.zip" \
--tag docspell/restserver:nightly \
-f restserver.dockerfile .
echo "============ Building Joex ============"
docker build \
--build-arg joex_url="$url_base/docspell-joex-$version.zip" \
--tag docspell/joex:nightly \
-f joex.dockerfile .
else
echo ">>>> Building release images for $version <<<<<"
echo "============ Building Tools ============"
docker build \
--build-arg version=$version \
--tag docspell/tools:v$version \
--tag docspell/tools:latest \
-f tools.dockerfile .
echo "============ Building Restserver ============"
docker build \
--build-arg version=$version \
--tag docspell/restserver:v$version \
--tag docspell/restserver:latest \
-f restserver.dockerfile .
echo "============ Building Joex ============"
docker build \
--build-arg version=$version \
--tag docspell/joex:v$version \
--tag docspell/joex:latest \
-f joex.dockerfile .
fi

38
docker/dockerfiles/push.sh Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo "Please specify a version"
exit 1
fi
version="$1"
if [[ $version == v* ]]; then
version="${version:1}"
fi
set -e
cd "$(dirname "$0")"
if [[ $version == *SNAPSHOT* ]]; then
echo "============ Push Tools ============"
docker push docspell/tools:nightly
echo "============ Push Restserver ============"
docker push docspell/restserver:nightly
echo "============ Push Joex ============"
docker push docspell/joex:nightly
else
echo "============ Push Tools ============"
docker push docspell/tools:v$version
docker push docspell/tools:latest
echo "============ Push Restserver ============"
docker push docspell/restserver:v$version
docker push docspell/restserver:latest
echo "============ Push Joex ============"
docker push docspell/joex:v$version
docker push docspell/joex:latest
fi