full check suite #1134
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: full check suite | |
on: | |
push: | |
schedule: | |
- cron: "0 6 * * *" | |
env: | |
REPORT_PATH: "ci/cuke-report.json" | |
CUCUMBER_SPLIT_CONFIGURATION_PATH: "ci/cucumber-split-config.json" | |
jobs: | |
rubocop: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
- name: Cache Gems | |
uses: actions/cache@v2 | |
with: | |
path: vendor/bundle | |
key: v2-${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }} | |
restore-keys: | | |
v2-${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }} | |
- name: bundle install | |
run: | | |
gem update --system | |
bundle config path vendor/bundle | |
bundle install | |
- name: Run rubocop | |
run: | | |
git config diff.renameLimit 800 | |
git fetch --no-tags --depth=1 origin trunk | |
bundle exec rubocop-git origin/trunk | grep "no offenses detected" | |
rspec: | |
needs: [rubocop] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
group: [1, 2, 3, 4, 5] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: "12" | |
- uses: getong/[email protected] | |
with: | |
rabbitmq version: "3.8.2-management-alpine" | |
host port: 5672 | |
rabbitmq user: "guest" | |
rabbitmq password: "guest" | |
rabbitmq vhost: "/" | |
- uses: wbari/[email protected] | |
with: | |
mongoDBVersion: "3.6" | |
- name: Restore project gems | |
uses: actions/cache@v2 | |
with: | |
path: vendor/bundle | |
key: v2-${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }} | |
restore-keys: | | |
v2-${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }} | |
- name: Install project gems | |
run: | | |
gem update --system | |
bundle config path vendor/bundle | |
bundle install | |
gem install treye-semaphore_test_boosters --version '2.5.2' | |
- name: Restore Node Modules | |
id: npm-cache | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node_modules-v12-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-node_modules-v12-${{ hashFiles('yarn.lock') }} | |
- name: Install node dependencies | |
if: steps.npm-cache.outputs.cache-hit != 'true' | |
run: yarn install | |
- name: Set hostname | |
run: sudo bash -c "echo '127.0.0.1 rabbitmq mongodb' >> /etc/hosts" | |
- name: Run tests | |
env: | |
RSPEC_SPLIT_CONFIGURATION_PATH: "ci/rspec-split-config.json" | |
TEST_BOOSTERS_RSPEC_TEST_FILE_PATTERN: "{spec,components/benefit_markets,components/benefit_sponsors,components/notifier,components/sponsored_benefits,components/transport_gateway,components/transport_profiles}/**/*_spec.rb" | |
run: rspec_booster --job ${{ matrix.group }}/${{ strategy.job-total }} |