diff --git a/.circleci/config.yml b/.circleci/config.yml index 106a32d29..cabbd2605 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,19 +35,20 @@ jobs: command: env | egrep 'DEBUG|DANBOORU|RAILS|DATABASE_URL|SECRET' > .env.test - run: name: Build and Start Docker containers - command: docker-compose -f config/docker/compose.yml up -d web + command: | + docker-compose -f config/docker/compose.yml up -d web - run: name: Run database migrations command: | docker-compose -f config/docker/compose.yml exec archives dockerize -wait tcp://$PGHOST:$PGPORT bash -l -c 'cd /app ; bundle exec rake db:create ; bundle exec rake db:migrate' docker-compose -f config/docker/compose.yml exec web dockerize -wait tcp://$PGHOST:$PGPORT bash -l -c 'cd /app ; bin/rake db:create ; bin/rake db:migrate' - - run: - name: Run tests + - run: + name: Test splitting command: | - sudo curl -o /usr/local/bin/circleci https://circle-downloads.s3.amazonaws.com/releases/build_agent_wrapper/circleci && chmod +x /usr/local/bin/circleci - circleci tests glob "test/**/*_test.rb" | circleci tests split | docker-compose -f config/docker/compose.yml exec web bin/rails test + circleci tests glob test/**/*_test.rb | circleci tests split | xargs -I{} docker-compose -f config/docker/compose.yml exec -T web bash -l -c 'cd /app ; bin/rails test {}' + docker cp docker_web_1:/app/test/reports /tmp - store_test_results: - path: test/reports + path: /tmp/reports - run: name: Teardown command: docker-compose -f config/docker/compose.yml down diff --git a/config/docker/danbooru-ci b/config/docker/danbooru-ci index 4f4c014e7..9b837e182 100644 --- a/config/docker/danbooru-ci +++ b/config/docker/danbooru-ci @@ -5,5 +5,11 @@ FROM r888888888/danbooru-base USER root COPY . /app RUN chown -R danbooru:danbooru . + +# install circleci cli tools +RUN curl -q -o /usr/local/bin/circleci https://circle-downloads.s3.amazonaws.com/releases/build_agent_wrapper/circleci +RUN chmod +x /usr/local/bin/circleci +RUN sed -i'' -e 's/run -it/run -i/' /usr/local/bin/circleci + USER danbooru RUN bundle install > /dev/null