diff --git a/.travis.yml b/.travis.yml index 53a1f699461..d30fcd45f51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,6 +76,9 @@ jobs: - stage: prepare cache name: 'Prepare cache' script: + # Run the dangerfile + - bundle exec danger --fail-on-errors=true || travis_terminate 1; + # Set up caching - bash script/ci/db_setup.sh - bash script/ci/cache_prepare.sh - stage: test diff --git a/Dangerfile b/Dangerfile new file mode 100644 index 00000000000..a5ae5f454cb --- /dev/null +++ b/Dangerfile @@ -0,0 +1,6 @@ +# Sometimes it's a README fix, or something like that - which isn't relevant for +# including in a project's CHANGELOG for example +declared_trivial = github.pr_title.include? "#trivial" + +fail("jasmine fdescribe left in tests") if `grep --include '*.spec.ts' -rP 'fdescribe|fit' frontend/src/`.length > 1 + diff --git a/Gemfile b/Gemfile index ae224ad25f6..15438ff3ef6 100644 --- a/Gemfile +++ b/Gemfile @@ -265,6 +265,13 @@ group :development, :test do gem 'pry-rails', '~> 0.3.6' gem 'pry-rescue', '~> 1.5.0' gem 'pry-stack_explorer', '~> 0.4.9.2' + + # Dangerfile scanner on travis and locally + gem 'danger', '~> 6.0.9' + + # Brakeman scanner + gem 'brakeman', '~> 4.6.1' + gem 'danger-brakeman' end gem 'bootsnap', '~> 1.3.2', require: false diff --git a/Gemfile.lock b/Gemfile.lock index d069e6e7e33..91064cec483 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -356,6 +356,7 @@ GEM debug_inspector (>= 0.0.1) bootsnap (1.3.2) msgpack (~> 1.0) + brakeman (4.6.1) browser (2.5.3) builder (3.2.3) byebug (10.0.2) @@ -390,12 +391,20 @@ GEM chromedriver-helper (2.1.0) archive-zip (~> 0.10) nokogiri (~> 1.8) + claide (1.0.3) + claide-plugins (0.9.2) + cork + nap + open4 (~> 1.3) coderay (1.1.2) coercible (1.0.0) descendants_tracker (~> 0.0.1) + colored2 (3.1.2) commonmarker (0.20.1) ruby-enum (~> 0.5) concurrent-ruby (1.1.5) + cork (0.3.0) + colored2 (~> 3.1) crack (0.4.3) safe_yaml (~> 1.0.0) crass (1.0.4) @@ -424,6 +433,24 @@ GEM cucumber-tag_expressions (1.1.1) cucumber-wire (0.0.1) daemons (1.3.1) + danger (6.0.9) + claide (~> 1.0) + claide-plugins (>= 0.9.2) + colored2 (~> 3.1) + cork (~> 0.1) + faraday (~> 0.9) + faraday-http-cache (~> 2.0) + git (~> 1.5) + kramdown (~> 2.0) + kramdown-parser-gfm (~> 1.0) + no_proxy_fix + octokit (~> 4.7) + terminal-table (~> 1) + danger-brakeman (0.0.1) + brakeman + danger-plugin-api (~> 1.0) + danger-plugin-api (1.0.0) + danger (> 2.0) database_cleaner (1.7.0) date_validator (0.9.0) activemodel @@ -469,6 +496,10 @@ GEM railties (>= 3.0.0) faker (1.9.1) i18n (>= 0.7) + faraday (0.15.4) + multipart-post (>= 1.2, < 3) + faraday-http-cache (2.0.0) + faraday (~> 0.8) fastimage (2.1.5) ffi (1.10.0) flamegraph (0.9.5) @@ -496,6 +527,7 @@ GEM ruby-progressbar (~> 1.4) get_process_mem (0.2.3) gherkin (5.1.0) + git (1.5.0) globalid (0.4.2) activesupport (>= 4.2.0) gon (6.2.1) @@ -545,6 +577,9 @@ GEM multi_json (~> 1.0) rspec (>= 2.0, < 4.0) kgio (2.11.2) + kramdown (2.1.0) + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) ladle (1.0.1) open4 (~> 1.0) launchy (2.4.3) @@ -589,17 +624,22 @@ GEM msgpack (1.2.6) multi_json (1.13.1) multi_test (0.1.2) + multipart-post (2.1.1) mustermann (1.0.3) mustermann-grape (1.0.0) mustermann (~> 1.0.0) + nap (1.1.0) net-ldap (0.16.1) netrc (0.11.0) newrelic_rpm (6.0.0.351) nio4r (2.3.1) + no_proxy_fix (0.1.2) nokogiri (1.10.4) mini_portile2 (~> 2.4.0) nokogumbo (2.0.1) nokogiri (~> 1.8, >= 1.8.4) + octokit (4.14.0) + sawyer (~> 0.8.0, >= 0.5.3) oj (3.7.8) okcomputer (1.17.3) omniauth-saml (1.10.1) @@ -809,6 +849,9 @@ GEM sprockets (> 3.0) sprockets-rails tilt + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) secure_headers (6.0.0) useragent (>= 0.15.0) selenium-webdriver (3.141.0) @@ -848,6 +891,8 @@ GEM tdigest (0.1.1) rbtree (~> 0.4.2) temple (0.8.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) test-prof (0.7.3) thin (1.7.2) daemons (~> 1.0, >= 1.0.9) @@ -925,6 +970,7 @@ DEPENDENCIES bcrypt (~> 3.1.6) bootsnap (~> 1.3.2) bourbon! + brakeman (~> 4.6.1) browser (~> 2.5.3) capybara (~> 3.13.0) capybara-screenshot (~> 1.0.17) @@ -938,6 +984,8 @@ DEPENDENCIES cucumber-rails (~> 1.6.0) daemons dalli! + danger (~> 6.0.9) + danger-brakeman dashboards! database_cleaner (~> 1.6) date_validator (~> 0.9.0)