about summary refs log tree commit diff
path: root/.circleci/config.yml
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2020-01-12 15:57:34 +0100
committerThibaut Girka <thib@sitedethib.com>2020-01-12 15:57:34 +0100
commit980c004f0601bbfaf440c0ea56de408ccfd79007 (patch)
tree8ed051d5e8b9c530b3282cfd84e34e50b3bcfa57 /.circleci/config.yml
parent180f1383943ad171d8394ef9af7c7861bfc08056 (diff)
parent24cd2126c6cfb80844ef9ffbf61647b3d9afdc68 (diff)
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile.lock`:
  No real conflict, glitch-soc-only dependency (redcarpet) too close to an
  upstream one (rdf-normalize)
- `README.md`:
  we have different READMEs, discarded upstream's changes
- `app/views/admin/custom_emojis/index.html.haml`:
  No real conflict, different context because of glitch-soc theming
- `lib/mastodon/statuses_cli.rb`:
  Upstream added code to keep bookmarked statuses, we were already doing so
  with slightly different code. Discarded upstream's changes.
- `package.json`:
  No real conflict, glitch-soc-only dependency (favico.js) too close to
  an upstream one
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml58
1 files changed, 53 insertions, 5 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 83a2088d7..6a948d8c1 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,7 +3,7 @@ version: 2
 aliases:
   - &defaults
     docker:
-      - image: circleci/ruby:2.6-buster-node
+      - image: circleci/ruby:2.7-buster-node
         environment: &ruby_environment
           BUNDLE_APP_CONFIG: ./.bundle/
           DB_HOST: localhost
@@ -98,8 +98,15 @@ jobs:
     <<: *defaults
     <<: *install_steps
 
+  install-ruby2.7:
+    <<: *defaults
+    <<: *install_ruby_dependencies
+
   install-ruby2.6:
     <<: *defaults
+    docker:
+      - image: circleci/ruby:2.6-buster-node
+        environment: *ruby_environment
     <<: *install_ruby_dependencies
 
   install-ruby2.5:
@@ -128,6 +135,36 @@ jobs:
               - ./mastodon/public/assets
               - ./mastodon/public/packs-test/
 
+  test-migrations:
+    <<: *defaults
+    docker:
+      - image: circleci/ruby:2.7-buster-node
+        environment: *ruby_environment
+      - image: circleci/postgres:10.6-alpine
+        environment:
+          POSTGRES_USER: root
+      - image: circleci/redis:5-alpine
+    steps:
+      - *attach_workspace
+      - *install_system_dependencies
+      - run:
+          name: Create database
+          command: ./bin/rails parallel:create
+      - run:
+          name: Run migrations
+          command: ./bin/rails parallel:migrate
+
+  test-ruby2.7:
+    <<: *defaults
+    docker:
+      - image: circleci/ruby:2.7-buster-node
+        environment: *ruby_environment
+      - image: circleci/postgres:10.6-alpine
+        environment:
+          POSTGRES_USER: root
+      - image: circleci/redis:5-alpine
+    <<: *test_steps
+
   test-ruby2.6:
     <<: *defaults
     docker:
@@ -184,20 +221,31 @@ workflows:
   build-and-test:
     jobs:
       - install
+      - install-ruby2.7:
+          requires:
+            - install
       - install-ruby2.6:
           requires:
             - install
+            - install-ruby2.7
       - install-ruby2.5:
           requires:
             - install
-            - install-ruby2.6
+            - install-ruby2.7
       - install-ruby2.4:
           requires:
             - install
-            - install-ruby2.6
+            - install-ruby2.7
       - build:
           requires:
-            - install-ruby2.6
+            - install-ruby2.7
+      - test-migrations:
+          requires:
+            - install-ruby2.7
+      - test-ruby2.7:
+          requires:
+            - install-ruby2.7
+            - build
       - test-ruby2.6:
           requires:
             - install-ruby2.6
@@ -215,4 +263,4 @@ workflows:
             - install
       - check-i18n:
           requires:
-            - install-ruby2.6
+            - install-ruby2.7