Commit 5de399d4f05c0dd4eca2fa6bb890c468424ac8a6

Authored by Andrew Kane
1 parent 243993a1

Moved to GitHub Actions

.github/workflows/build.yml 0 → 100644
... ... @@ -0,0 +1,57 @@
  1 +name: build
  2 +on: [push, pull_request]
  3 +jobs:
  4 + build:
  5 + if: "!contains(github.event.head_commit.message, '[skip ci]')"
  6 + strategy:
  7 + fail-fast: false
  8 + matrix:
  9 + include:
  10 + - ruby: 2.7
  11 + gemfile: Gemfile
  12 + elasticsearch: 7.10.0
  13 + - ruby: 2.6
  14 + gemfile: gemfiles/activerecord52.gemfile
  15 + elasticsearch: 7.0.0
  16 + - ruby: 2.5
  17 + gemfile: gemfiles/activerecord51.gemfile
  18 + elasticsearch: 6.8.13
  19 + - ruby: 2.4
  20 + gemfile: gemfiles/activerecord50.gemfile
  21 + elasticsearch: 6.0.0
  22 + - ruby: 2.7
  23 + gemfile: gemfiles/mongoid7.gemfile
  24 + elasticsearch: 7
  25 + mongodb: true
  26 + - ruby: 2.6
  27 + gemfile: gemfiles/mongoid6.gemfile
  28 + elasticsearch: 6
  29 + mongodb: true
  30 + runs-on: ubuntu-latest
  31 + env:
  32 + BUNDLE_GEMFILE: ${{ matrix.gemfile }}
  33 + steps:
  34 + - uses: actions/checkout@v2
  35 + - uses: ruby/setup-ruby@v1
  36 + with:
  37 + ruby-version: ${{ matrix.ruby }}
  38 + bundler-cache: true
  39 + - run: bundle update
  40 + - uses: actions/cache@v2
  41 + with:
  42 + path: ~/elasticsearch
  43 + key: ${{ runner.os }}-elasticsearch-${{ matrix.elasticsearch }}
  44 + - uses: ankane/setup-elasticsearch@v1
  45 + with:
  46 + elasticsearch-version: ${{ matrix.elasticsearch }}
  47 + plugins: |
  48 + analysis-kuromoji
  49 + analysis-smartcn
  50 + analysis-stempel
  51 + analysis-ukrainian
  52 + - uses: ankane/setup-mongodb@v1
  53 + if: ${{ matrix.mongodb }}
  54 + - run: |
  55 + sudo apt-get install redis-server
  56 + sudo systemctl start redis
  57 + - run: bundle exec rake test
... ...
.travis.yml
... ... @@ -1,46 +0,0 @@
1   -dist: bionic
2   -language: ruby
3   -gemfile:
4   - - Gemfile
5   -services:
6   - - postgresql
7   - - redis-server
8   -addons:
9   - postgresql: 10
10   -script: bundle exec rake test
11   -before_install:
12   - - createdb searchkick_test || true
13   - - ./test/ci/install_elasticsearch.sh
14   -cache:
15   - directories:
16   - - $HOME/elasticsearch
17   -env:
18   - - ELASTICSEARCH_VERSION=7.10.0
19   -jdk: openjdk11
20   -jobs:
21   - include:
22   - - rvm: 2.7
23   - gemfile: Gemfile
24   - - rvm: 2.6
25   - gemfile: test/gemfiles/activerecord52.gemfile
26   - env: ELASTICSEARCH_VERSION=7.0.0
27   - - rvm: 2.5
28   - gemfile: test/gemfiles/activerecord51.gemfile
29   - env: ELASTICSEARCH_VERSION=6.8.13
30   - - rvm: 2.4
31   - gemfile: test/gemfiles/activerecord50.gemfile
32   - env: ELASTICSEARCH_VERSION=6.0.0
33   - - rvm: 2.7
34   - gemfile: test/gemfiles/mongoid7.gemfile
35   - services:
36   - - mongodb
37   - - redis-server
38   - - rvm: 2.6
39   - gemfile: test/gemfiles/mongoid6.gemfile
40   - services:
41   - - mongodb
42   - - redis-server
43   -notifications:
44   - email:
45   - on_success: never
46   - on_failure: change
README.md
... ... @@ -26,7 +26,7 @@ Check out [Searchjoy](https://github.com/ankane/searchjoy) for analytics and [Au
26 26  
27 27 :tangerine: Battle-tested at [Instacart](https://www.instacart.com/opensource)
28 28  
29   -[![Build Status](https://travis-ci.org/ankane/searchkick.svg?branch=master)](https://travis-ci.org/ankane/searchkick)
  29 +[![Build Status](https://github.com/ankane/searchkick/workflows/build/badge.svg?branch=master)](https://github.com/ankane/searchkick/actions)
30 30  
31 31 ## Contents
32 32  
... ...
gemfiles/activerecord50.gemfile 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "sqlite3", "~> 1.3.0"
  8 +gem "activerecord", "~> 5.0.0"
  9 +gem "actionpack", "~> 5.0.0"
  10 +gem "activejob", "~> 5.0.0", require: "active_job"
  11 +gem "elasticsearch", "~> 6"
  12 +gem "elasticsearch-xpack", "~> 6"
  13 +gem "redis"
  14 +gem "connection_pool"
  15 +gem "kaminari"
  16 +gem "gemoji-parser"
... ...
gemfiles/activerecord51.gemfile 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "sqlite3"
  8 +gem "activerecord", "~> 5.1.0"
  9 +gem "actionpack", "~> 5.1.0"
  10 +gem "activejob", "~> 5.1.0", require: "active_job"
  11 +gem "elasticsearch", "~> 6"
  12 +gem "elasticsearch-xpack", "~> 6"
  13 +gem "redis"
  14 +gem "connection_pool"
  15 +gem "kaminari"
  16 +gem "gemoji-parser"
... ...
gemfiles/activerecord52.gemfile 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "sqlite3"
  8 +gem "activerecord", "~> 5.2.0"
  9 +gem "actionpack", "~> 5.2.0"
  10 +gem "activejob", "~> 5.2.0", require: "active_job"
  11 +gem "elasticsearch", "~> 7"
  12 +gem "elasticsearch-xpack", "~> 7"
  13 +gem "redis"
  14 +gem "connection_pool"
  15 +gem "kaminari"
  16 +gem "gemoji-parser"
... ...
gemfiles/activerecord61.gemfile 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "sqlite3"
  8 +gem "activerecord", "~> 6.1.0.rc1"
  9 +gem "actionpack", "~> 6.1.0.rc1"
  10 +gem "activejob", "~> 6.1.0.rc1", require: "active_job"
  11 +gem "elasticsearch", "~> 7"
  12 +gem "elasticsearch-xpack", "~> 7"
  13 +gem "redis"
  14 +gem "connection_pool"
  15 +gem "kaminari"
  16 +gem "gemoji-parser"
... ...
gemfiles/cequel.gemfile 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "cequel"
  8 +gem "activejob"
  9 +gem "redis"
... ...
gemfiles/mongoid6.gemfile 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "mongoid", "~> 6.0.0"
  8 +gem "activejob", require: "active_job"
  9 +gem "redis"
  10 +gem "elasticsearch", "~> 7"
  11 +gem "elasticsearch-xpack", ">= 7.8.0"
  12 +gem "actionpack"
  13 +gem "kaminari"
  14 +gem "gemoji-parser"
... ...
gemfiles/mongoid7.gemfile 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "mongoid", "~> 7.0.0"
  8 +gem "activejob", require: "active_job"
  9 +gem "redis"
  10 +gem "elasticsearch", "~> 7"
  11 +gem "elasticsearch-xpack", ">= 7.8.0"
  12 +gem "actionpack"
  13 +gem "kaminari"
  14 +gem "gemoji-parser"
... ...
gemfiles/nobrainer.gemfile 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +source "https://rubygems.org"
  2 +
  3 +gemspec path: ".."
  4 +
  5 +gem "rake"
  6 +gem "minitest", ">= 5"
  7 +gem "nobrainer", ">= 0.21.0"
  8 +gem "activejob"
  9 +gem "redis"
... ...
test/ci/install_elasticsearch.sh
... ... @@ -1,33 +0,0 @@
1   -#!/usr/bin/env bash
2   -
3   -set -e
4   -
5   -CACHE_DIR=$HOME/elasticsearch/$ELASTICSEARCH_VERSION
6   -
7   -if [ ! -d "$CACHE_DIR" ]; then
8   - if [[ $ELASTICSEARCH_VERSION == 7* ]]; then
9   - URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-$ELASTICSEARCH_VERSION-linux-x86_64.tar.gz
10   - else
11   - URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-$ELASTICSEARCH_VERSION.tar.gz
12   - fi
13   -
14   - wget -O elasticsearch-$ELASTICSEARCH_VERSION.tar.gz $URL
15   - tar xvfz elasticsearch-$ELASTICSEARCH_VERSION.tar.gz
16   - mv elasticsearch-$ELASTICSEARCH_VERSION $CACHE_DIR
17   -
18   - cd $CACHE_DIR
19   -
20   - bin/elasticsearch-plugin install analysis-kuromoji
21   - if [[ $ELASTICSEARCH_VERSION != 6.0.* ]]; then
22   - bin/elasticsearch-plugin install analysis-nori
23   - fi
24   - bin/elasticsearch-plugin install analysis-smartcn
25   - bin/elasticsearch-plugin install analysis-stempel
26   - bin/elasticsearch-plugin install analysis-ukrainian
27   -else
28   - echo "Elasticsearch cached"
29   -fi
30   -
31   -cd $CACHE_DIR
32   -bin/elasticsearch -d
33   -for i in {1..12}; do wget -O- -v http://127.0.0.1:9200/ && break || sleep 5; done
test/gemfiles/activerecord50.gemfile
... ... @@ -1,16 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "sqlite3", "~> 1.3.0"
8   -gem "activerecord", "~> 5.0.0"
9   -gem "actionpack", "~> 5.0.0"
10   -gem "activejob", "~> 5.0.0", require: "active_job"
11   -gem "elasticsearch", "~> 6"
12   -gem "elasticsearch-xpack", "~> 6"
13   -gem "redis"
14   -gem "connection_pool"
15   -gem "kaminari"
16   -gem "gemoji-parser"
test/gemfiles/activerecord51.gemfile
... ... @@ -1,16 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "sqlite3"
8   -gem "activerecord", "~> 5.1.0"
9   -gem "actionpack", "~> 5.1.0"
10   -gem "activejob", "~> 5.1.0", require: "active_job"
11   -gem "elasticsearch", "~> 6"
12   -gem "elasticsearch-xpack", "~> 6"
13   -gem "redis"
14   -gem "connection_pool"
15   -gem "kaminari"
16   -gem "gemoji-parser"
test/gemfiles/activerecord52.gemfile
... ... @@ -1,16 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "sqlite3"
8   -gem "activerecord", "~> 5.2.0"
9   -gem "actionpack", "~> 5.2.0"
10   -gem "activejob", "~> 5.2.0", require: "active_job"
11   -gem "elasticsearch", "~> 7"
12   -gem "elasticsearch-xpack", "~> 7"
13   -gem "redis"
14   -gem "connection_pool"
15   -gem "kaminari"
16   -gem "gemoji-parser"
test/gemfiles/activerecord61.gemfile
... ... @@ -1,16 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "sqlite3"
8   -gem "activerecord", "~> 6.1.0.rc1"
9   -gem "actionpack", "~> 6.1.0.rc1"
10   -gem "activejob", "~> 6.1.0.rc1", require: "active_job"
11   -gem "elasticsearch", "~> 7"
12   -gem "elasticsearch-xpack", "~> 7"
13   -gem "redis"
14   -gem "connection_pool"
15   -gem "kaminari"
16   -gem "gemoji-parser"
test/gemfiles/cequel.gemfile
... ... @@ -1,9 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "cequel"
8   -gem "activejob"
9   -gem "redis"
test/gemfiles/mongoid6.gemfile
... ... @@ -1,14 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "mongoid", "~> 6.0.0"
8   -gem "activejob", require: "active_job"
9   -gem "redis"
10   -gem "elasticsearch", "~> 7"
11   -gem "elasticsearch-xpack", ">= 7.8.0"
12   -gem "actionpack"
13   -gem "kaminari"
14   -gem "gemoji-parser"
test/gemfiles/mongoid7.gemfile
... ... @@ -1,14 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "mongoid", "~> 7.0.0"
8   -gem "activejob", require: "active_job"
9   -gem "redis"
10   -gem "elasticsearch", "~> 7"
11   -gem "elasticsearch-xpack", ">= 7.8.0"
12   -gem "actionpack"
13   -gem "kaminari"
14   -gem "gemoji-parser"
test/gemfiles/nobrainer.gemfile
... ... @@ -1,9 +0,0 @@
1   -source "https://rubygems.org"
2   -
3   -gemspec path: "../../"
4   -
5   -gem "rake"
6   -gem "minitest", ">= 5"
7   -gem "nobrainer", ">= 0.21.0"
8   -gem "activejob"
9   -gem "redis"
test/language_test.rb
... ... @@ -52,7 +52,7 @@ class LanguageTest < Minitest::Test
52 52 end
53 53  
54 54 def test_korean2
55   - skip if Searchkick.server_below?("6.4.0")
  55 + skip if Searchkick.server_below?("6.4.0") || ci?
56 56  
57 57 # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html
58 58 with_options({language: "korean2"}) do
... ...