Skip to content

Commit

Permalink
Support i386 (node-red#155)
Browse files Browse the repository at this point in the history
* Added support for s390x

* Added support for s390x - manifest list added

* bump node-red 1.0.1

* add s390x to Readme [skip travis]

* Update README.md [skip travis]

* Feature development repo (node-red#149)


* updated as discussed in PR144

* updated as discussed in PR144 node-red#1

* updated as discussed in PR149 node-red#1

* updated as discussed in PR149 node-red#2

* Add healthcheck to dev

* Feature/i386 (node-red#153)

* added i386 support

* fix manifest arch for 386

* Fixup dev branch custom package.json to 1.0.2

merge changes from master to README.

* - missing i386 added

* let healthcheck be more tolerant

* - [skip travis] added Dockerhub Stars
  • Loading branch information
RaymondMouthaan authored and dceejay committed Oct 21, 2019
1 parent 3da6997 commit 1ffd9e7
Show file tree
Hide file tree
Showing 5 changed files with 196 additions and 50 deletions.
3 changes: 3 additions & 0 deletions .docker/Dockerfile.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,7 @@ VOLUME ["/data"]
# Expose the listening port of node-red
EXPOSE 1880

# Add a healthcheck (default every 30 secs)
HEALTHCHECK CMD curl http://localhost:1880/ || exit 1

ENTRYPOINT ["npm", "start", "--", "--userDir", "/data"]
126 changes: 103 additions & 23 deletions .docker/docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,17 @@ main() {
"manifest-list-version")
docker_manifest_list_version "$2" "$3"
;;
"manifest-list-test-beta-latest")
docker_manifest_list_test_beta_latest "$2" "$3"
"manifest_list_beta")
docker_manifest_list_beta "$2" "$3"
;;
"manifest_list_dev")
docker_manifest_list_dev "$2" "$3"
;;
"manifest_list_test")
docker_manifest_list_test "$2" "$3"
;;
"manifest_list_latest")
docker_manifest_list_latest "$2" "$3"
;;
*)
echo "none of above!"
Expand Down Expand Up @@ -115,48 +124,118 @@ function docker_manifest_list_version() {
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386

docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386 --os=linux --arch=386

docker manifest push ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:${BUILD_VERSION}${NODE_VERSION}${TAG_SUFFIX}
}

function docker_manifest_list_test_beta_latest() {
function docker_manifest_list_beta() {
if [[ ${1} == "" ]]; then export NODE_VERSION=""; else export NODE_VERSION="-${1}"; fi
if [[ ${2} == "default" ]]; then export TAG_SUFFIX=""; else export TAG_SUFFIX="-${2}"; fi

if [[ ${BUILD_VERSION} == *"test"* ]]; then
export TAG_PREFIX="test";
elif [[ ${BUILD_VERSION} == *"beta"* ]]; then
export TAG_PREFIX="beta";
else
export TAG_PREFIX="latest";
fi
echo "DOCKER MANIFEST: Create and Push docker manifest list - ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX}."

docker manifest create ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-amd64 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386

docker manifest annotate ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386 --os=linux --arch=386

docker manifest push ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:beta${NODE_VERSION}${TAG_SUFFIX}
}

function docker_manifest_list_dev() {
if [[ ${1} == "" ]]; then export NODE_VERSION=""; else export NODE_VERSION="-${1}"; fi
if [[ ${2} == "default" ]]; then export TAG_SUFFIX=""; else export TAG_SUFFIX="-${2}"; fi

echo "DOCKER MANIFEST: Create and Push docker manifest list - ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX}."
echo "DOCKER MANIFEST: Create and Push docker manifest list - ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX}."

docker manifest create ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX} \
docker manifest create ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-amd64 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386

docker manifest annotate ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386 --os=linux --arch=386

docker manifest push ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:${TAG_PREFIX}${NODE_VERSION}${TAG_SUFFIX}
docker manifest push ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:dev${NODE_VERSION}${TAG_SUFFIX}
}

function docker_manifest_list_test() {
if [[ ${1} == "" ]]; then export NODE_VERSION=""; else export NODE_VERSION="-${1}"; fi
if [[ ${2} == "default" ]]; then export TAG_SUFFIX=""; else export TAG_SUFFIX="-${2}"; fi

echo "DOCKER MANIFEST: Create and Push docker manifest list - ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX}."

docker manifest create ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-amd64 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386

docker manifest annotate ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386 --os=linux --arch=386

docker manifest push ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:test${NODE_VERSION}${TAG_SUFFIX}
}

function docker_manifest_list_latest() {
if [[ ${1} == "" ]]; then export NODE_VERSION=""; else export NODE_VERSION="-${1}"; fi
if [[ ${2} == "default" ]]; then export TAG_SUFFIX=""; else export TAG_SUFFIX="-${2}"; fi

echo "DOCKER MANIFEST: Create and Push docker manifest list - ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX}."

docker manifest create ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-amd64 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x \
${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386

docker manifest annotate ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v6 --os=linux --arch=arm --variant=v6
docker manifest annotate ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm32v7 --os=linux --arch=arm --variant=v7
docker manifest annotate ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-arm64v8 --os=linux --arch=arm64 --variant=v8
docker manifest annotate ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-s390x --os=linux --arch=s390x
docker manifest annotate ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX} ${TARGET}:${BUILD_VERSION}${NODE_VERSION:--10}${TAG_SUFFIX}-i386 --os=linux --arch=386

docker manifest push ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX}

docker run --rm mplatform/mquery ${TARGET}:latest${NODE_VERSION}${TAG_SUFFIX}
}

function setup_dependencies() {
Expand Down Expand Up @@ -196,6 +275,7 @@ function prepare_qemu() {
curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-arm-static.tar.gz && tar xzf qemu-arm-static.tar.gz &&
curl -L -o qemu-aarch64-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-aarch64-static.tar.gz && tar xzf qemu-aarch64-static.tar.gz &&
curl -L -o qemu-s390x-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-s390x-static.tar.gz && tar xzf qemu-s390x-static.tar.gz &&
curl -L -o qemu-i386-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-i386-static.tar.gz && tar xzf qemu-i386-static.tar.gz &&
popd
}

Expand Down
82 changes: 66 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ language: bash

env:
global:
- TARGET=nodered/node-red
- QEMU_VERSION=v4.0.0
- OS=alpine
- DOCKER_FILE=Dockerfile.alpine
Expand All @@ -21,13 +20,15 @@ env:
- NODE_VERSION=10 TAG_SUFFIX=default QEMU_ARCH=arm ARCH=arm32v7
- NODE_VERSION=10 TAG_SUFFIX=default QEMU_ARCH=aarch64 ARCH=arm64v8
- NODE_VERSION=10 TAG_SUFFIX=default QEMU_ARCH=s390x ARCH=s390x
- NODE_VERSION=10 TAG_SUFFIX=default QEMU_ARCH=i386 ARCH=i386

# Minimal Images
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=x86_64 ARCH=amd64
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=arm ARCH=arm32v6
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=arm ARCH=arm32v7
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=aarch64 ARCH=arm64v8
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=s390x ARCH=s390x
- NODE_VERSION=10 TAG_SUFFIX=minimal QEMU_ARCH=i386 ARCH=i386

### Node JS 12 #####################################################################################################
# Default Images
Expand All @@ -36,38 +37,50 @@ env:
- NODE_VERSION=12 TAG_SUFFIX=default QEMU_ARCH=arm ARCH=arm32v7
- NODE_VERSION=12 TAG_SUFFIX=default QEMU_ARCH=aarch64 ARCH=arm64v8
- NODE_VERSION=12 TAG_SUFFIX=default QEMU_ARCH=s390x ARCH=s390x
- NODE_VERSION=12 TAG_SUFFIX=default QEMU_ARCH=i386 ARCH=i386

# Minimal Images
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=x86_64 ARCH=amd64
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=arm ARCH=arm32v6
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=arm ARCH=arm32v7
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=aarch64 ARCH=arm64v8
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=s390x ARCH=s390x
- NODE_VERSION=12 TAG_SUFFIX=minimal QEMU_ARCH=i386 ARCH=i386

before_install:
- ./.docker/docker.sh prepare

install: true

before_script:
# Set BUILD_VERSION
# Set TARGET Docker Repo
# default TARGET = nodered/node-red-dev
# if TRAVIS_TAG starts with a `v` and only contains numbers, dots and/or dash then TARGET = nodered/node-red
- >
if [ ! -z "${TRAVIS_TAG}" ]; then
export BUILD_VERSION=${TRAVIS_TAG:1};
export TARGET=nodered/node-red-dev
if [[ "${TRAVIS_TAG}" =~ ^v[0-9\.-]*$ ]]; then
export TARGET=nodered/node-red
fi
# Set NODE_RED_VERSION from package.json
- >
export NODE_RED_VERSION=$(grep -oE "\"node-red\": \"(\w*.\w*.\w*.\w*.\w*.)" package.json | cut -d\" -f4)
# Set BUILD_VERSION
- >
if [ ! -z "${TRAVIS_TAG}" ]; then
export BUILD_VERSION=${TRAVIS_TAG:1};
fi
script:
# Build Docker image
- ./.docker/docker.sh build

# Test Docker image
- ./.docker/docker.sh test

# Push Docker image, ony if TRAVIS_TAG is set
# Push Docker image, only if TRAVIS_TAG is set
- >
if [ ! -z "${TRAVIS_TAG}" ]; then
# Tag Docker image
Expand All @@ -86,7 +99,7 @@ script:
jobs:
include:
- stage: manifest
# Only create and push manifest list to Docker Hub, when tag starts with a `v`, eg. v0.20.8
# Only create and push manifest list to Docker Hub, when tag starts with a `v`, eg. v1.0.2
if: tag =~ ^v
script:
# Create and push Docker manifest lists
Expand All @@ -105,19 +118,56 @@ jobs:
- ./.docker/docker.sh manifest-list-version "10" "default"
- ./.docker/docker.sh manifest-list-version "" "default"

# Create and push manifest list 'latest' or 'testing' for minimal
- ./.docker/docker.sh manifest-list-test-beta-latest "12" "minimal"
- ./.docker/docker.sh manifest-list-test-beta-latest "10" "minimal"
- ./.docker/docker.sh manifest-list-test-beta-latest "" "minimal"

# Create and push manifest list 'latest' or 'testing' for default
- ./.docker/docker.sh manifest-list-test-beta-latest "12" "default"
- ./.docker/docker.sh manifest-list-test-beta-latest "10" "default"
- ./.docker/docker.sh manifest-list-test-beta-latest "" "default"
# if TARGET = `nodered/node-red` then manifest lists get tagged as `latest` and push to `nodered/node-red`
# if tags contain `beta` then manifest lists get tagged as `beta` and push to `nodered/node-red-dev`
# if tags contain `dev` then manifest lists get tagged as `dev` and push to `nodered/node-red-dev`
# else manifest lists get tagged as `test` and push to `nodered/node-red-dev`
- >
if [[ "${TARGET}" == "nodered/node-red" ]]; then
# Create and push manifest list `latest` for minimal
./.docker/docker.sh manifest_list_latest "12" "minimal"
./.docker/docker.sh manifest_list_latest "10" "minimal"
./.docker/docker.sh manifest_list_latest "" "minimal"
# Create and push manifest list `latest` for default
./.docker/docker.sh manifest_list_latest "12" "default"
./.docker/docker.sh manifest_list_latest "10" "default"
./.docker/docker.sh manifest_list_latest "" "default"
elif [[ "${TRAVIS_TAG}" == *"beta"* ]]; then
# Create and push manifest list `beta` for minimal
./.docker/docker.sh manifest_list_beta "12" "minimal"
./.docker/docker.sh manifest_list_beta "10" "minimal"
./.docker/docker.sh manifest_list_beta "" "minimal"
# Create and push manifest list `beta` for default
./.docker/docker.sh manifest_list_beta "12" "default"
./.docker/docker.sh manifest_list_beta "10" "default"
./.docker/docker.sh manifest_list_beta "" "default"
elif [[ "${TRAVIS_TAG}" == *"dev"* ]]; then
# Create and push manifest list `dev` for minimal
./.docker/docker.sh manifest_list_dev "12" "minimal"
./.docker/docker.sh manifest_list_dev "10" "minimal"
./.docker/docker.sh manifest_list_dev "" "minimal"
# Create and push manifest list `dev` for default
./.docker/docker.sh manifest_list_dev "12" "default"
./.docker/docker.sh manifest_list_dev "10" "default"
./.docker/docker.sh manifest_list_dev "" "default"
else
# Create and push manifest list `test` for minimal
./.docker/docker.sh manifest_list_test "12" "minimal"
./.docker/docker.sh manifest_list_test "10" "minimal"
./.docker/docker.sh manifest_list_test "" "minimal"
# Create and push manifest list `test` for default
./.docker/docker.sh manifest_list_test "12" "default"
./.docker/docker.sh manifest_list_test "10" "default"
./.docker/docker.sh manifest_list_test "" "default"
fi
# Docker Logout
- docker logout

# notify me when things fail
# Notify me when things fail
notifications:
email: true
Loading

0 comments on commit 1ffd9e7

Please sign in to comment.