forked from adamsalter/sitemap_generator
-
Notifications
You must be signed in to change notification settings - Fork 278
/
config.yml
88 lines (85 loc) · 2.98 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
version: 2.1
jobs:
gem-test:
parameters:
ruby-version:
type: string
docker:
# See https://github.com/CircleCI-Public/cimg-ruby
- image: cimg/ruby:<< parameters.ruby-version >>
steps:
- checkout
- run:
name: Install dependencies
command: |
bundle install --path vendor/bundle --jobs=2
- run:
name: Run tests
command: |
bundle exec rspec --profile 10 --format RspecJunitFormatter --out ./test-results/rspec/results.xml --format progress
- store_test_results:
path: test-results
integration-test:
parameters:
ruby-version:
type: string
rails-version:
type: string
docker:
# See https://github.com/CircleCI-Public/cimg-ruby
- image: cimg/ruby:<< parameters.ruby-version >>
working_directory: ~/sitemap_generator/integration
steps:
- checkout:
path: ~/sitemap_generator
- run:
name: Install sqlite3 when on Ruby 2.5
command: |
if [[ "$RUBY_VERSION" =~ 2\.5 ]]; then
sudo apt-get update && sudo apt-get install -y sqlite3 libsqlite3-dev
fi
- run:
name: Install Rails dependencies
environment:
BUNDLE_GEMFILE: "./gemfiles/rails_<< parameters.rails-version >>.gemfile"
command: |
bundle config set --local path 'vendor/bundle'
bundle install --jobs=2
- run:
name: Run integration tests
environment:
BUNDLE_GEMFILE: "./gemfiles/rails_<< parameters.rails-version >>.gemfile"
command: |
bundle exec rspec --profile 10 --format RspecJunitFormatter --out ./test-results/rspec/results.xml --format progress
- store_test_results:
path: test-results
workflows:
test:
jobs:
- gem-test:
# See https://circleci.com/blog/circleci-matrix-jobs/
matrix:
parameters:
ruby-version: ["3.1", "3.0", "2.7", "2.5"]
name: gem-test-ruby-<< matrix.ruby-version >>
- integration-test:
# See https://circleci.com/blog/circleci-matrix-jobs/
# See https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html for Ruby and Rails compatibility
matrix:
parameters:
ruby-version: ["3.1", "3.0", "2.7", "2.5"]
rails-version: ["5_2", "6_0", "6_1", "7_0"]
exclude:
- ruby-version: "2.5"
rails-version: "7_0"
- ruby-version: "2.7"
rails-version: "5_2"
- ruby-version: "3.0"
rails-version: "5_2"
- ruby-version: "3.0"
rails-version: "6_0"
- ruby-version: "3.1"
rails-version: "5_2"
- ruby-version: "3.1"
rails-version: "6_0"
name: integration-test-ruby-<< matrix.ruby-version >>-rails-<< matrix.rails-version >>