Commit 5de399d4f05c0dd4eca2fa6bb890c468424ac8a6

Authored by Andrew Kane
1 parent 243993a1

Moved to GitHub Actions

.github/workflows/build.yml 0 → 100644
@@ -0,0 +1,57 @@ @@ -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,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  
@@ -26,7 +26,7 @@ Check out [Searchjoy](https://github.com/ankane/searchjoy) for analytics and [Au @@ -26,7 +26,7 @@ Check out [Searchjoy](https://github.com/ankane/searchjoy) for analytics and [Au
26 26
27 :tangerine: Battle-tested at [Instacart](https://www.instacart.com/opensource) 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 ## Contents 31 ## Contents
32 32
gemfiles/activerecord50.gemfile 0 → 100644
@@ -0,0 +1,16 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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,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,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,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,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,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,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,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,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,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,7 +52,7 @@ class LanguageTest < Minitest::Test
52 end 52 end
53 53
54 def test_korean2 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 # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html 57 # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html
58 with_options({language: "korean2"}) do 58 with_options({language: "korean2"}) do