From 418760cdbc66f00e196fc5a5dbf8d3168d328f68 Mon Sep 17 00:00:00 2001 From: Mike Allanson Date: Fri, 16 Feb 2018 16:23:44 +0000 Subject: [PATCH 1/2] Push image to docker hub when master is tagged like `gatsby@` --- .travis.yml | 48 +++++++++++++++++++++--------- scripts/www-graphql-docker-push.sh | 19 ++++++++++++ 2 files changed, 53 insertions(+), 14 deletions(-) create mode 100644 scripts/www-graphql-docker-push.sh diff --git a/.travis.yml b/.travis.yml index 24e4651bcd3a3..eb30746feceea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,20 +1,40 @@ -language: node_js -node_js: - - "6" - - "8" +sudo: required + +services: + - docker + +os: + - linux -os: [linux] dist: trusty sudo: required -cache: - yarn: true -before_install: - - curl -o- -L https://yarnpkg.com/install.sh | bash - - export PATH=$HOME/.yarn/bin:$PATH +jobs: + include: + - stage: build and test + if: type = pull_request + language: node_js + node_js: + - '6' + - '8' + cache: + yarn: true + before_install: + - curl -o- -L https://yarnpkg.com/install.sh | bash + - export PATH=$HOME/.yarn/bin:$PATH + install: + - yarn run bootstrap + script: + - yarn test + + - stage: www graphql docker image build and push + if: tag =~ ^gatsby@.* + env: + - DOCKER_USER=mikeallanson + - secure: J8daWiar248dPWwrutZd83CeSif/+rMjB9hSOjq0pQDNj7QcOKjUwLsv6yMDJAcQCAAyobwRQTNYANGXmvQsi5ZppZe/P/enDPD/ZEPz3XkvxYYbXC7TNKVp8bnvYTWu6qO9ljkMsKGttsqaz+MyTx2MjV9pJhkmw2rfQ5iVn/80bORaCCMDcSB2ud/jLN+AVBFNMDUVEL9RnAXTq+CyQmSLvlvmJNCu9CXnb/Kt+IcbqswTjre/V2lVkzcXEvUYd0F9la3bsGVVQ9vBd3IumSIGnSOxD91DLUOeuh5K7FJxPoqqwM+bCn4zZWtQMOGpPDoYYllVejFHC16g/FBa6uC455OvqeS6fSCRXr9bqDxDLPhn7IyDAuG2jXps++sbd2RA8eXq8IGA4AqtTf4smiIXbOu3p3d2n9ww4Z/NgRpLHYRFcVwjG92okVN4by7n1+kr7wGx+alCkHTMDrLkkeZ0AEJphaxAH+TxP+SvCFY1z/OyNM0YzICrLXjf2w60Xz4wE563yUM8OLFm4GbeM33eQYRErTLADG9JtGDev+L5tS/Vo8+KGkL3creY7f9BgsNyfxbQbv84X7f+vSPlzl6u8V9EuVA80+5hE7artRtM+BxiT5pGM1983+QK2CPv4EptMYRa0EjlVbxyrfVYF22lsAqqgVApZGGneUxB0cQ= # DOCKER_PASS + before_install: + - chmod +x scripts/www-graphql-docker-push.sh + script: + - ./scripts/www-graphql-docker-push.sh -install: - - yarn run bootstrap -script: - - yarn test diff --git a/scripts/www-graphql-docker-push.sh b/scripts/www-graphql-docker-push.sh new file mode 100644 index 0000000000000..7dbe0fb99122a --- /dev/null +++ b/scripts/www-graphql-docker-push.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Path to here +DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +# Prepare +docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" +export REPO=mikeallanson/gatsby-graphql +export TAG=latest + +# Build +# Build the Dockerfile located at ../, using ../ as the context directory +docker build -t "$REPO":"$TRAVIS_COMMIT" -f "$DIR"/../Dockerfile "$DIR"/../ + +docker tag "$REPO":"$TRAVIS_COMMIT" "$REPO":"$TAG" +docker tag "$REPO":"$TRAVIS_COMMIT" "$REPO":travis-"$TRAVIS_BUILD_NUMBER" + +# Push +docker push "$REPO" From f3013d6c4ff7ec8ddd54eadd7e9e2eb417eb6369 Mon Sep 17 00:00:00 2001 From: Mike Allanson Date: Fri, 16 Feb 2018 22:45:12 +0000 Subject: [PATCH 2/2] Build image on any commit to master (that isn't a PR merge) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index eb30746feceea..ae0c7ec16721e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,7 +28,7 @@ jobs: - yarn test - stage: www graphql docker image build and push - if: tag =~ ^gatsby@.* + if: (NOT type = pull_request) AND branch = master env: - DOCKER_USER=mikeallanson - secure: J8daWiar248dPWwrutZd83CeSif/+rMjB9hSOjq0pQDNj7QcOKjUwLsv6yMDJAcQCAAyobwRQTNYANGXmvQsi5ZppZe/P/enDPD/ZEPz3XkvxYYbXC7TNKVp8bnvYTWu6qO9ljkMsKGttsqaz+MyTx2MjV9pJhkmw2rfQ5iVn/80bORaCCMDcSB2ud/jLN+AVBFNMDUVEL9RnAXTq+CyQmSLvlvmJNCu9CXnb/Kt+IcbqswTjre/V2lVkzcXEvUYd0F9la3bsGVVQ9vBd3IumSIGnSOxD91DLUOeuh5K7FJxPoqqwM+bCn4zZWtQMOGpPDoYYllVejFHC16g/FBa6uC455OvqeS6fSCRXr9bqDxDLPhn7IyDAuG2jXps++sbd2RA8eXq8IGA4AqtTf4smiIXbOu3p3d2n9ww4Z/NgRpLHYRFcVwjG92okVN4by7n1+kr7wGx+alCkHTMDrLkkeZ0AEJphaxAH+TxP+SvCFY1z/OyNM0YzICrLXjf2w60Xz4wE563yUM8OLFm4GbeM33eQYRErTLADG9JtGDev+L5tS/Vo8+KGkL3creY7f9BgsNyfxbQbv84X7f+vSPlzl6u8V9EuVA80+5hE7artRtM+BxiT5pGM1983+QK2CPv4EptMYRa0EjlVbxyrfVYF22lsAqqgVApZGGneUxB0cQ= # DOCKER_PASS