Merge pull request #35 from CactusPuppy/fix-ci
Fix continuous integration pipeline
This commit is contained in:
commit
12f4b75e16
9 changed files with 96 additions and 44 deletions
128
.travis.yml
128
.travis.yml
|
|
@ -1,23 +1,8 @@
|
|||
language: ruby
|
||||
cache: bundler
|
||||
rvm:
|
||||
- 2.6.6
|
||||
os: linux
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- chromium-browser
|
||||
services:
|
||||
- postgresql
|
||||
branches:
|
||||
except:
|
||||
- /^depfu/.*$/
|
||||
before_install:
|
||||
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
|
||||
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
||||
- gem install bundler -v $(tail -n 1 Gemfile.lock)
|
||||
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > $CCTR
|
||||
- chmod +x $CCTR
|
||||
notifications:
|
||||
email:
|
||||
on_success: change
|
||||
|
|
@ -27,19 +12,9 @@ notifications:
|
|||
- "chat.freenode.net#osem"
|
||||
on_success: change
|
||||
on_failure: change
|
||||
before_script:
|
||||
- RAILS_ENV=test bundle exec rake db:bootstrap --trace
|
||||
- RAILS_ENV=test bundle exec bin/rails webdrivers:chromedriver:update
|
||||
- $CCTR before-build
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE"
|
||||
# TODO Get this working.
|
||||
after_script:
|
||||
# combine coverage from all suites, and upload3 to CodeClimate
|
||||
- $CCTR format-coverage -t simplecov --output coverage/codeclimate.$TEST_SUITE.json
|
||||
- $CCTR sum-coverage coverage/codeclimate.*.json
|
||||
- if [[ "$TRAVIS_TEST_RESULT" == 0 ]]; then $CCTR upload-coverage; fi
|
||||
|
||||
stages:
|
||||
- test
|
||||
- finalize
|
||||
env:
|
||||
global:
|
||||
- OSEM_DB_ADAPTER=sqlite3
|
||||
|
|
@ -48,11 +23,90 @@ env:
|
|||
- OSEM_DB_NAME='osem_test'
|
||||
- CC_TEST_REPORTER_ID=$CC_TEST_REPORTER
|
||||
- CCTR=./cc-test-reporter
|
||||
matrix:
|
||||
- TEST_SUITE=ability
|
||||
- TEST_SUITE=features
|
||||
- TEST_SUITE=models
|
||||
- TEST_SUITE=controllers
|
||||
- TEST_SUITE=rest
|
||||
matrix:
|
||||
fast_finish: false
|
||||
- TOTAL_TEST_SUITES=5
|
||||
jobs:
|
||||
include:
|
||||
- &tests
|
||||
language: ruby
|
||||
cache: bundler
|
||||
rvm:
|
||||
- 2.6.6
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- chromium-browser
|
||||
services:
|
||||
- postgresql
|
||||
before_install:
|
||||
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
|
||||
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
||||
- gem install bundler -v $(tail -n 1 Gemfile.lock)
|
||||
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > $CCTR
|
||||
- chmod +x $CCTR
|
||||
before_script:
|
||||
- RAILS_ENV=test bundle exec rake db:bootstrap --trace
|
||||
- RAILS_ENV=test bundle exec bin/rails webdrivers:chromedriver:update
|
||||
- $CCTR before-build
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE && $CCTR format-coverage -t cobertura -o ./coverage/codeclimate.1.json ./coverage/coverage.xml"
|
||||
env:
|
||||
- TEST_SUITE=ability
|
||||
workspaces:
|
||||
create:
|
||||
name: ws1
|
||||
paths:
|
||||
- coverage/codeclimate.1.json
|
||||
- <<: *tests
|
||||
env:
|
||||
- TEST_SUITE=features
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE && $CCTR format-coverage -t cobertura -o ./coverage/codeclimate.2.json ./coverage/coverage.xml"
|
||||
workspaces:
|
||||
create:
|
||||
name: ws2
|
||||
paths:
|
||||
- coverage/codeclimate.2.json
|
||||
- <<: *tests
|
||||
env:
|
||||
- TEST_SUITE=models
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE && $CCTR format-coverage -t cobertura -o ./coverage/codeclimate.3.json ./coverage/coverage.xml"
|
||||
workspaces:
|
||||
create:
|
||||
name: ws3
|
||||
paths:
|
||||
- coverage/codeclimate.3.json
|
||||
- <<: *tests
|
||||
env:
|
||||
- TEST_SUITE=controllers
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE && $CCTR format-coverage -t cobertura -o ./coverage/codeclimate.4.json ./coverage/coverage.xml"
|
||||
workspaces:
|
||||
create:
|
||||
name: ws4
|
||||
paths:
|
||||
- coverage/codeclimate.4.json
|
||||
- <<: *tests
|
||||
env:
|
||||
- TEST_SUITE=rest
|
||||
script:
|
||||
- "bin/travis_script.sh $TEST_SUITE && $CCTR format-coverage -t cobertura -o ./coverage/codeclimate.5.json ./coverage/coverage.xml"
|
||||
workspaces:
|
||||
create:
|
||||
name: ws5
|
||||
paths:
|
||||
- coverage/codeclimate.5.json
|
||||
- stage: finalize
|
||||
if: branch = master
|
||||
language: minimal
|
||||
before_install:
|
||||
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > $CCTR
|
||||
- chmod +x $CCTR
|
||||
workspaces:
|
||||
use:
|
||||
- ws1
|
||||
- ws2
|
||||
- ws3
|
||||
- ws4
|
||||
- ws5
|
||||
script: $CCTR sum-coverage --output - --parts $TOTAL_TEST_SUITES coverage/codeclimate.*.json | $CCTR upload-coverage --input -
|
||||
|
|
|
|||
3
Gemfile
3
Gemfile
|
|
@ -280,6 +280,9 @@ group :development, :test, :linters do
|
|||
gem 'rubocop-rspec', require: false
|
||||
|
||||
gem 'haml-lint', require: false
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
# as development/test database
|
||||
gem 'sqlite3'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
### Spring 2021 Student Project
|
||||
[](https://travis-ci.com/CactusPuppy/snapcon)
|
||||
[](https://codeclimate.com/github/CactusPuppy/snapcon/maintainability)
|
||||
[](https://codecov.io/gh/CactusPuppy/snapcon)
|
||||
[](https://codeclimate.com/github/CactusPuppy/snapcon/test_coverage)
|
||||
[](https://hakiri.io/github/CactusPuppy/snapcon/master)
|
||||
[](https://depfu.com/github/CactusPuppy/snapcon?project_id=22682)
|
||||
[](http://dashboard.bluejay.governify.io/dashboard/script/dashboardLoader.js?dashboardURL=https://reporter.bluejay.governify.io/api/v4/dashboards/tpa-CS169L-GH-CactusPuppy_snapcon/main)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
# id :bigint not null, primary key
|
||||
# abstract :text
|
||||
# comments_count :integer default(0), not null
|
||||
# committee_review :text
|
||||
# description :text
|
||||
# guid :string not null
|
||||
# is_highlight :boolean default(FALSE)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
# id :bigint not null, primary key
|
||||
# abstract :text
|
||||
# comments_count :integer default(0), not null
|
||||
# committee_review :text
|
||||
# description :text
|
||||
# guid :string not null
|
||||
# is_highlight :boolean default(FALSE)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
# id :bigint not null, primary key
|
||||
# abstract :text
|
||||
# comments_count :integer default(0), not null
|
||||
# committee_review :text
|
||||
# description :text
|
||||
# guid :string not null
|
||||
# is_highlight :boolean default(FALSE)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
# id :bigint not null, primary key
|
||||
# abstract :text
|
||||
# comments_count :integer default(0), not null
|
||||
# committee_review :text
|
||||
# description :text
|
||||
# guid :string not null
|
||||
# is_highlight :boolean default(FALSE)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
# id :bigint not null, primary key
|
||||
# abstract :text
|
||||
# comments_count :integer default(0), not null
|
||||
# committee_review :text
|
||||
# description :text
|
||||
# guid :string not null
|
||||
# is_highlight :boolean default(FALSE)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
||||
require 'simplecov'
|
||||
|
||||
if ENV['GITHUB_ACTIONS']
|
||||
if ENV['GITHUB_ACTIONS'] || ENV['TRAVIS']
|
||||
require 'simplecov-cobertura'
|
||||
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue