|
@@ -2,23 +2,31 @@
|
|
|
|
|
|
set -e
|
|
|
|
|
|
-if ! command -v docker-compose &> /dev/null
|
|
|
-then
|
|
|
- echo "docker-compose not found. Skipping docker image builds."
|
|
|
- exit 0
|
|
|
-fi
|
|
|
+# Looks for a cached joystream/node image matching code shasum.
|
|
|
+# Search order: local repo then dockerhub. If no cached image is found we build it.
|
|
|
+# Finally image is tagged as "latest"
|
|
|
|
|
|
-# Fetch a cached joystream/node image if one is found matching code shasum instead of building
|
|
|
CODE_HASH=`scripts/runtime-code-shasum.sh`
|
|
|
IMAGE=joystream/node:${CODE_HASH}
|
|
|
-echo "Trying to fetch cached ${IMAGE} image"
|
|
|
-docker pull ${IMAGE} || :
|
|
|
+LATEST=joystream/node:latest
|
|
|
|
|
|
+# Look for image locally
|
|
|
if ! docker inspect ${IMAGE} > /dev/null;
|
|
|
then
|
|
|
- echo "Fetch failed, building image locally"
|
|
|
- docker-compose build joystream-node
|
|
|
+ # Not found, try to fetch from remote repo
|
|
|
+ echo "Trying to fetch cached ${IMAGE} image"
|
|
|
+ docker pull ${IMAGE} || :
|
|
|
+
|
|
|
+ # If we didn't find it, build it
|
|
|
+ if ! docker inspect ${IMAGE} > /dev/null;
|
|
|
+ then
|
|
|
+ echo "Building ${IMAGE}.."
|
|
|
+ docker build . --file joystream-node.Dockerfile --tag ${IMAGE}
|
|
|
+ fi
|
|
|
else
|
|
|
- echo "Tagging cached image as 'latest'"
|
|
|
- docker image tag ${IMAGE} joystream/node:latest
|
|
|
+ echo "Found ${IMAGE} in local repo"
|
|
|
fi
|
|
|
+
|
|
|
+# At this point image should be in local repo
|
|
|
+echo "Tagging ${IMAGE} as ${LATEST}"
|
|
|
+docker image tag ${IMAGE} ${LATEST}
|