Skip to content

Commit 1f9fa40

Browse files
committed
introducing test runs for multiple rails versions
1 parent 6efe645 commit 1f9fa40

13 files changed

+427
-74
lines changed

.github/workflows/dockerpush.yml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,27 @@ name: specs
33
on: [push]
44

55
jobs:
6-
test:
6+
test_6_1:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- name: Run tests
11+
run: |
12+
docker-compose run --rm test_6_1 bundle exec rake db:schema:load
13+
docker-compose run --rm test_6_1 bundle exec rspec spec/test
14+
test_6_0:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Run tests
19+
run: |
20+
docker-compose run --rm test_6_0 bundle exec rake db:schema:load
21+
docker-compose run --rm test_6_0 bundle exec rspec spec/test
22+
test_5_2:
723
runs-on: ubuntu-latest
8-
924
steps:
1025
- uses: actions/checkout@v2
11-
1226
- name: Run tests
1327
run: |
14-
docker-compose run --rm test bundle exec rake db:schema:load
15-
docker-compose run --rm test bundle exec rspec spec/test
28+
docker-compose run --rm test_5_2 bundle exec rake db:schema:load
29+
docker-compose run --rm test_5_2 bundle exec rspec spec/test

Dockerfile.test.5.2

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM ruby:2.7.2-alpine3.12
2+
3+
RUN gem install bundler:2.1.4
4+
5+
RUN apk update --no-cache && \
6+
apk add build-base postgresql-dev git nodejs yarn tzdata bash sqlite-dev && \
7+
mkdir -p /app
8+
9+
WORKDIR /app
10+
11+
COPY ./lib/ /app/lib/
12+
COPY matestack-ui-core.gemspec /app/
13+
COPY Gemfile.5.2 /app/Gemfile
14+
RUN bundle install
15+
16+
COPY package.json yarn* /app/
17+
RUN yarn install
18+
19+
RUN apk update && apk upgrade \
20+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \
21+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \
22+
&& apk add --no-cache \
23+
chromium@edge \
24+
nss@edge \
25+
&& rm -rf /var/lib/apt/lists/* \
26+
/var/cache/apk/* \
27+
/usr/share/man \
28+
/tmp/*
29+
30+
RUN apk add chromium-chromedriver@edge
31+
32+
ENV CHROME_BIN=/usr/bin/chromium-browser \
33+
CHROME_PATH=/usr/lib/chromium/
34+
35+
RUN mv Gemfile _Gemfile
36+
RUN mv Gemfile.lock _Gemfile.lock
37+
COPY . /app
38+
RUN rm Gemfile
39+
RUN rm Gemfile.lock
40+
RUN mv _Gemfile Gemfile
41+
RUN mv _Gemfile.lock Gemfile.lock
42+
43+
RUN rm /app/spec/dummy/config/application.rb
44+
RUN mv /app/spec/dummy/config/application.5.2_rb /app/spec/dummy/config/application.rb

Dockerfile.test.6.0

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM ruby:2.7.2-alpine3.12
2+
3+
RUN gem install bundler:2.1.4
4+
5+
RUN apk update --no-cache && \
6+
apk add build-base postgresql-dev git nodejs yarn tzdata bash sqlite-dev && \
7+
mkdir -p /app
8+
9+
WORKDIR /app
10+
11+
COPY ./lib/ /app/lib/
12+
COPY matestack-ui-core.gemspec /app/
13+
COPY Gemfile.6.0 /app/Gemfile
14+
RUN bundle install
15+
16+
COPY package.json yarn* /app/
17+
RUN yarn install
18+
19+
RUN apk update && apk upgrade \
20+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \
21+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \
22+
&& apk add --no-cache \
23+
chromium@edge \
24+
nss@edge \
25+
&& rm -rf /var/lib/apt/lists/* \
26+
/var/cache/apk/* \
27+
/usr/share/man \
28+
/tmp/*
29+
30+
RUN apk add chromium-chromedriver@edge
31+
32+
ENV CHROME_BIN=/usr/bin/chromium-browser \
33+
CHROME_PATH=/usr/lib/chromium/
34+
35+
RUN mv Gemfile _Gemfile
36+
RUN mv Gemfile.lock _Gemfile.lock
37+
COPY . /app
38+
RUN rm Gemfile
39+
RUN rm Gemfile.lock
40+
RUN mv _Gemfile Gemfile
41+
RUN mv _Gemfile.lock Gemfile.lock
42+
43+
RUN rm /app/spec/dummy/config/application.rb
44+
RUN mv /app/spec/dummy/config/application.6.0_rb /app/spec/dummy/config/application.rb

Dockerfile.test.6.1

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM ruby:2.7.2-alpine3.12
2+
3+
RUN gem install bundler:2.1.4
4+
5+
RUN apk update --no-cache && \
6+
apk add build-base postgresql-dev git nodejs yarn tzdata bash sqlite-dev && \
7+
mkdir -p /app
8+
9+
WORKDIR /app
10+
11+
COPY ./lib/ /app/lib/
12+
COPY matestack-ui-core.gemspec /app/
13+
COPY Gemfile.6.1 /app/Gemfile
14+
RUN bundle install
15+
16+
COPY package.json yarn* /app/
17+
RUN yarn install
18+
19+
RUN apk update && apk upgrade \
20+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \
21+
&& echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \
22+
&& apk add --no-cache \
23+
chromium@edge \
24+
nss@edge \
25+
&& rm -rf /var/lib/apt/lists/* \
26+
/var/cache/apk/* \
27+
/usr/share/man \
28+
/tmp/*
29+
30+
RUN apk add chromium-chromedriver@edge
31+
32+
ENV CHROME_BIN=/usr/bin/chromium-browser \
33+
CHROME_PATH=/usr/lib/chromium/
34+
35+
RUN mv Gemfile _Gemfile
36+
RUN mv Gemfile.lock _Gemfile.lock
37+
COPY . /app
38+
RUN rm Gemfile
39+
RUN rm Gemfile.lock
40+
RUN mv _Gemfile Gemfile
41+
RUN mv _Gemfile.lock Gemfile.lock
42+
43+
RUN rm /app/spec/dummy/config/application.rb
44+
RUN mv /app/spec/dummy/config/application.6.1_rb /app/spec/dummy/config/application.rb

Gemfile.5.2

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
source 'https://rubygems.org'
2+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3+
4+
# Declare your gem's dependencies in matestack-ui-core.gemspec.
5+
# Bundler will treat runtime dependencies like base dependencies, and
6+
# development dependencies will be added by default to the :development group.
7+
gemspec
8+
9+
# Declare any dependencies that are still in development here instead of in
10+
# your gemspec. These might include edge Rails or gems from your path or
11+
# Git. Remember to move these dependencies to your gemspec before releasing
12+
# your gem to rubygems.org.
13+
14+
gem 'rails', '5.2.4.4'
15+
16+
gem "trailblazer-cells"
17+
gem "cells-rails"
18+
gem "cells-haml"
19+
20+
group :development, :test do
21+
gem 'rspec-rails', '~> 3.8'
22+
gem 'capybara'
23+
gem 'webpacker', '~> 4.0'
24+
gem 'pg', '>= 0.18', '< 2.0'
25+
gem 'selenium-webdriver'
26+
gem 'puma'
27+
gem 'simplecov', require: false, group: :test
28+
gem 'byebug'
29+
gem 'webmock'
30+
gem 'turbolinks'
31+
end
32+
33+
group :test do
34+
gem 'pry-rails'
35+
gem 'pry-byebug'
36+
gem "generator_spec"
37+
gem "rspec-retry" # repeating flaky tests
38+
gem "rspec-wait", "~> 0.0.9"
39+
end

Gemfile.6.0

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
source 'https://rubygems.org'
2+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3+
4+
# Declare your gem's dependencies in matestack-ui-core.gemspec.
5+
# Bundler will treat runtime dependencies like base dependencies, and
6+
# development dependencies will be added by default to the :development group.
7+
gemspec
8+
9+
# Declare any dependencies that are still in development here instead of in
10+
# your gemspec. These might include edge Rails or gems from your path or
11+
# Git. Remember to move these dependencies to your gemspec before releasing
12+
# your gem to rubygems.org.
13+
14+
gem 'rails', '6.0.3.4'
15+
16+
gem "trailblazer-cells"
17+
gem "cells-rails"
18+
gem "cells-haml"
19+
20+
group :development, :test do
21+
gem 'rspec-rails', '~> 3.8'
22+
gem 'capybara'
23+
gem 'webpacker', '~> 4.0'
24+
gem 'pg', '>= 0.18', '< 2.0'
25+
gem 'selenium-webdriver'
26+
gem 'puma'
27+
gem 'simplecov', require: false, group: :test
28+
gem 'byebug'
29+
gem 'webmock'
30+
gem 'turbolinks'
31+
end
32+
33+
group :test do
34+
gem 'pry-rails'
35+
gem 'pry-byebug'
36+
gem "generator_spec"
37+
gem "rspec-retry" # repeating flaky tests
38+
gem "rspec-wait", "~> 0.0.9"
39+
end

Gemfile.6.1

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
source 'https://rubygems.org'
2+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3+
4+
# Declare your gem's dependencies in matestack-ui-core.gemspec.
5+
# Bundler will treat runtime dependencies like base dependencies, and
6+
# development dependencies will be added by default to the :development group.
7+
gemspec
8+
9+
# Declare any dependencies that are still in development here instead of in
10+
# your gemspec. These might include edge Rails or gems from your path or
11+
# Git. Remember to move these dependencies to your gemspec before releasing
12+
# your gem to rubygems.org.
13+
14+
gem 'rails', '6.1.1'
15+
16+
gem "trailblazer-cells"
17+
gem "cells-rails"
18+
gem "cells-haml"
19+
20+
group :development, :test do
21+
gem 'rspec-rails', '~> 3.8'
22+
gem 'capybara'
23+
gem 'webpacker', '~> 4.0'
24+
gem 'pg', '>= 0.18', '< 2.0'
25+
gem 'selenium-webdriver'
26+
gem 'puma'
27+
gem 'simplecov', require: false, group: :test
28+
gem 'byebug'
29+
gem 'webmock'
30+
gem 'turbolinks'
31+
end
32+
33+
group :test do
34+
gem 'pry-rails'
35+
gem 'pry-byebug'
36+
gem "generator_spec"
37+
gem "rspec-retry" # repeating flaky tests
38+
gem "rspec-wait", "~> 0.0.9"
39+
end

0 commit comments

Comments
 (0)