diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..93e7d8f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,38 @@ +version: 2.1 +orbs: + shallow-checkout: datacamp/shallow-checkout@0.0.2 +# TODO: Add the shallow checkout orb +# orbs: +# ruby: circleci/ruby@0.1.2 + +jobs: + build: + machine: + image: ubuntu-2004:202010-01 + steps: + - checkout + - run: + name: Where are we? + command: pwd + - run: + name: Ensure docker exists + command: docker version + - run: + name: Login to DockerHub + command: | + docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD + - run: + name: Build and push image to DockerHub + command: | + IMAGE_NAME=icyflame2/cutouts + IMAGE_TAG=$CIRCLE_BRANCH-$CIRCLE_SHA1 + IMAGE=$IMAGE_NAME:$IMAGE_TAG + + docker build -t $IMAGE . + docker push $IMAGE + +workflows: + version: 2 + build_and_test: + jobs: + - build diff --git a/Dockerfile b/Dockerfile index a19bc24..2a0e037 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,6 @@ COPY . /src WORKDIR /src RUN bundle install +RUN /src/run-tests.sh + ENTRYPOINT [ "/src/start-server.sh" ] diff --git a/run-tests.sh b/run-tests.sh new file mode 100755 index 0000000..323bb79 --- /dev/null +++ b/run-tests.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ ! -d /node/bin ]; +then + echo "Node must be present at node/bin" + exit 42 +fi + +export PATH="$PATH:/node/bin" +cd /src +bundle exec rails test