.circleci/config.yml in coprl-0.1.0 vs .circleci/config.yml in coprl-3.0.0.beta.1
- old
+ new
@@ -1,13 +1,66 @@
-version: 2.1
+# Ruby CircleCI 2.0 configuration file
+#
+# Check https://circleci.com/docs/2.0/language-ruby/ for more details
+#
+version: 2
jobs:
build:
docker:
- - image: ruby:2.7.2
+ # specify the version you desire here
+ - image: circleci/ruby:2.7.2-node-browsers
+
+ # Specify service dependencies here if necessary
+ # CircleCI maintains a library of pre-built images
+ # documented at https://circleci.com/docs/2.0/circleci-images/
+ # - image: circleci/postgres:9.4
+
+ working_directory: ~/repo
+
steps:
- checkout
+
+ # Download and cache dependencies
+ - restore_cache:
+ keys:
+ - v1-dependencies-{{ checksum "Gemfile.lock" }}
+ # fallback to using the latest cache if no exact match is found
+ - v1-dependencies-
+
- run:
- name: Run the default task
+ name: install dependencies
command: |
- gem install bundler -v 2.2.3
- bundle install
- bundle exec rake
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
+
+ - save_cache:
+ paths:
+ - ./vendor/bundle
+ key: v1-dependencies-{{ checksum "Gemfile.lock" }}
+
+ - run:
+ name: 'start integration testing server'
+ command: |
+ rackup
+ background: true
+
+ # run tests!
+ - run:
+ name: run specs
+ command: |
+ mkdir /tmp/test-results
+ TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
+
+ bundle exec rspec --format progress \
+ --format RspecJunitFormatter \
+ --out /tmp/test-results/rspec.xml \
+ --format progress \
+ $TEST_FILES
+
+ # collect reports
+ - store_test_results:
+ path: /tmp/test-results
+ - store_artifacts:
+ path: /tmp/test-results
+ destination: test-results
+ - store_artifacts:
+ path: ./coverage
+ destination: code-coverage