summary refs log tree commit
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml96
1 files changed, 96 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 00000000..b778316a
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,96 @@
+workflows:
+  version: 2
+
+  test:
+    jobs:
+      - test-jruby
+      - test-ruby-2.2
+      - test-ruby-2.3
+      - test-ruby-2.4
+      - test-ruby-2.5
+      - test-ruby-2.6
+
+version: 2
+
+default-steps: &default-steps
+  - checkout
+  - run: sudo apt-get install lighttpd libfcgi-dev libmemcached-dev
+
+  # Restore bundle cache
+  - type: cache-restore
+    key: rack-{{ checksum "rack.gemspec" }}-{{ checksum "Gemfile" }}
+
+  # Bundle install dependencies
+  - run: bundle install --path vendor/bundle
+
+  # Store bundle cache
+  - type: cache-save
+    key: rack-{{ checksum "rack.gemspec" }}-{{ checksum "Gemfile" }}
+    paths:
+      - vendor/bundle
+
+  - run: bundle exec rubocop
+
+  - run: bundle exec rake ci
+
+jobs:
+  test-ruby-2.2:
+    docker:
+      - image: circleci/ruby:2.2
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+
+  test-ruby-2.3:
+    docker:
+      - image: circleci/ruby:2.3
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+
+  test-ruby-2.4:
+    docker:
+      - image: circleci/ruby:2.4
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+
+  test-ruby-2.5:
+    docker:
+      - image: circleci/ruby:2.5
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+
+  test-ruby-2.6:
+    docker:
+      - image: circleci/ruby:2.6
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+
+  test-jruby:
+    docker:
+      - image: circleci/jruby
+        # Spawn a process owned by root
+        # This works around an issue explained here:
+        # https://github.com/circleci/circleci-images/pull/132
+        command: sudo /bin/sh
+      - image: memcached:1.4
+    steps: *default-steps
+