Skip to content

Commit

Permalink
Update release script
Browse files Browse the repository at this point in the history
  • Loading branch information
shesek committed Jan 29, 2021
1 parent 700bbbe commit 6133353
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 22 deletions.
37 changes: 16 additions & 21 deletions scripts/docker-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,42 @@ set -xeo pipefail
shopt -s expand_aliases

docker_name=shesek/bwt

version=$(grep -E '^version =' Cargo.toml | cut -d'"' -f2)
base_tag=$docker_name:$version

docker_name=shesek/bwt-test
base_tag=$docker_name:$version

build_variant() {
local docker_tag=$1
local docker_alias=$2
local features=$3
local bin_variant=$4

build $1-amd64 $2-amd64 $3 "$4" x86_64-linux Dockerfile
build $1-arm32v7 $2-arm32v7 $3 "$4" arm32v7-linux arm32v7.Dockerfile
build $1-arm64v8 $2-arm64v8 $3 "$4" arm64v8-linux arm64v8.Dockerfile
build $1-amd64 $features "$bin_variant" x86_64-linux Dockerfile
build $1-arm32v7 $features "$bin_variant" arm32v7-linux arm32v7.Dockerfile
build $1-arm64v8 $features "$bin_variant" arm64v8-linux arm64v8.Dockerfile

# can't tag manifests to create an alias, need to create them separately instead
for target in $docker_tag $docker_alias; do
docker manifest create --amend $target $docker_tag-amd64 $docker_tag-arm32v7 $docker_tag-arm64v8
docker manifest annotate $target $docker_tag-amd64 --os linux --arch amd64
docker manifest annotate $target $docker_tag-arm32v7 --os linux --arch arm --variant v7
docker manifest annotate $target $docker_tag-arm64v8 --os linux --arch arm64 --variant v8
docker manifest push $target -p
docker manifest create --amend $target $docker_tag-amd64 $docker_tag-arm32v7 $docker_tag-arm64v8
docker manifest annotate $target $docker_tag-amd64 --os linux --arch amd64
docker manifest annotate $target $docker_tag-arm32v7 --os linux --arch arm --variant v7
docker manifest annotate $target $docker_tag-arm64v8 --os linux --arch arm64 --variant v8
docker manifest push $target -p
done
}

build() {
local docker_tag=$1
local docker_alias=$2
local features=$3
local bin_variant=$4
local bin_platform=$5
local dockerfile=$6
local features=$2
local bin_variant=$3
local bin_platform=$4
local dockerfile=$5

docker build -t $docker_tag --build-arg FEATURES=$features \
--build-arg PREBUILT_BIN=dist/bwt-$version$bin_variant-$bin_platform/bwt \
-f docker/$dockerfile .

docker tag $docker_tag $docker_alias
docker push $docker_tag
docker push $docker_alias
}

build_variant $base_tag $docker_name:latest http,electrum,webhooks,track-spends ''
build_variant $base_tag-electrum $docker_name:electrum electrum '-electrum_only'
build_variant $base_tag $docker_name:latest http,electrum,webhooks,track-spends ''
build_variant $base_tag-electrum $docker_name:electrum electrum '-electrum_only'
23 changes: 22 additions & 1 deletion scripts/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ if ! git diff-index --quiet HEAD; then
exit 1
fi

if [ -z "$BWT_BASE" ]; then
echo >&2 BWT_BASE is required
exit 1
fi

version=$(grep -E '^version =' Cargo.toml | cut -d'"' -f2)

if [[ "$1" == "patch" ]]; then
Expand Down Expand Up @@ -61,7 +66,6 @@ if [ -z "$SKIP_BUILD" ]; then
(cd dist && sha256sum *.{tar.gz,zip}) | sort | gpg --clearsign --digest-algo sha256 > SHA256SUMS.asc
fi


if [ -z "$SKIP_GIT" ]; then
echo Tagging...
git add Cargo.{toml,lock} CHANGELOG.md SHA256SUMS.asc README.md
Expand Down Expand Up @@ -109,3 +113,20 @@ if [ -z "$SKIP_DOCKER" ]; then
echo Releasing docker images...
./scripts/docker-release.sh
fi

if [ -z "$SKIP_SUBPROJECTS" ]; then
export BWT_COMMIT=$(git rev-parse HEAD)

echo '## Releasing libbwt'
(cd $BWT_BASE/libbwt && ./scripts/release.sh)

echo '## Releasing libbwt-jni'
(cd $BWT_BASE/libbwt-jni && ./scripts/release.sh)

echo '## Releasing bwt-electrum-plugin'
(cd $BWT_BASE/bwt-electrum-plugin && ./scripts/release.sh)

echo '## Releasing libbwt-nodejs'
export LIBBWT_COMMIT=$(cd $BWT_BASE/libbwt && git rev-parse HEAD)
(cd $BWT_BASE/libbwt-nodejs && ./scripts/release.sh)
fi

0 comments on commit 6133353

Please sign in to comment.