mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-01 18:55:23 +00:00
162 lines
6.1 KiB
Bash
Executable File
162 lines
6.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
|
mkdir $HOME/.docker
|
|
touch $HOME/.docker/config.json
|
|
echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
|
|
sudo service docker restart
|
|
|
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
VERSION_TARGET=jc5x/firefly-iii:release-$VERSION
|
|
|
|
# if the github branch is develop, only push the 'develop' tag
|
|
if [ $TRAVIS_BRANCH == "develop" ]; then
|
|
TARGET=jc5x/firefly-iii:develop
|
|
ARM32=jc5x/firefly-iii:develop-arm
|
|
ARM64=jc5x/firefly-iii:develop-arm64
|
|
AMD64=jc5x/firefly-iii:develop-amd64
|
|
|
|
echo "GitHub branch is $TRAVIS_BRANCH."
|
|
echo "Push develop-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
fi
|
|
|
|
# if branch = master AND channel = alpha, push 'alpha'
|
|
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "alpha" ]; then
|
|
TARGET=jc5x/firefly-iii:alpha
|
|
ARM32=jc5x/firefly-iii:alpha-arm
|
|
ARM64=jc5x/firefly-iii:alpha-arm64
|
|
AMD64=jc5x/firefly-iii:alpha-amd64
|
|
|
|
echo "GitHub branch is $TRAVIS_BRANCH."
|
|
echo "Channel is $CHANNEL."
|
|
echo "Push alpha-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
echo "Push alpha-* builds to $VERSION_TARGET"
|
|
|
|
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $VERSION_TARGET
|
|
|
|
fi
|
|
|
|
# if branch is master and channel is alpha, push 'alpha' and 'beta'.
|
|
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "beta" ]; then
|
|
TARGET=jc5x/firefly-iii:alpha
|
|
ARM32=jc5x/firefly-iii:beta-arm
|
|
ARM64=jc5x/firefly-iii:beta-arm64
|
|
AMD64=jc5x/firefly-iii:beta-amd64
|
|
|
|
echo "GitHub branch is $TRAVIS_BRANCH."
|
|
echo "Channel is $CHANNEL."
|
|
echo "Push beta-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
TARGET=jc5x/firefly-iii:beta
|
|
ARM32=jc5x/firefly-iii:beta-arm
|
|
ARM64=jc5x/firefly-iii:beta-arm64
|
|
AMD64=jc5x/firefly-iii:beta-amd64
|
|
|
|
echo "Push beta-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
echo "Push beta-* builds to $VERSION_TARGET"
|
|
|
|
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $VERSION_TARGET
|
|
fi
|
|
|
|
# if branch is master and channel is stable, push 'alpha' and 'beta' and 'stable'.
|
|
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "stable" ]; then
|
|
TARGET=jc5x/firefly-iii:alpha
|
|
ARM32=jc5x/firefly-iii:stable-arm
|
|
ARM64=jc5x/firefly-iii:stable-arm64
|
|
AMD64=jc5x/firefly-iii:stable-amd64
|
|
|
|
echo "GitHub branch is $TRAVIS_BRANCH."
|
|
echo "Channel is $CHANNEL."
|
|
echo "Push stable-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
TARGET=jc5x/firefly-iii:beta
|
|
ARM32=jc5x/firefly-iii:stable-arm
|
|
ARM64=jc5x/firefly-iii:stable-arm64
|
|
AMD64=jc5x/firefly-iii:stable-amd64
|
|
|
|
echo "Push stable-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
TARGET=jc5x/firefly-iii:stable
|
|
ARM32=jc5x/firefly-iii:stable-arm
|
|
ARM64=jc5x/firefly-iii:stable-arm64
|
|
AMD64=jc5x/firefly-iii:stable-amd64
|
|
|
|
echo "Push stable-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
TARGET=jc5x/firefly-iii:latest
|
|
ARM32=jc5x/firefly-iii:stable-arm
|
|
ARM64=jc5x/firefly-iii:stable-arm64
|
|
AMD64=jc5x/firefly-iii:stable-amd64
|
|
|
|
echo "Push stable-* builds to $TARGET"
|
|
|
|
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $TARGET
|
|
|
|
echo "Push stable-* builds to $VERSION_TARGET"
|
|
|
|
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
|
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
|
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
|
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
|
docker manifest push $VERSION_TARGET
|
|
fi
|
|
|
|
echo 'Done!'
|
|
# done! |