diff --git a/.gitlab/ci/static-analysis.gitlab-ci.yml b/.gitlab/ci/static-analysis.gitlab-ci.yml index 79f578d09dcbb84732e48883b60f0b1314b703fb..85df68e903065e2f3096b789187dc636fc45d27f 100644 --- a/.gitlab/ci/static-analysis.gitlab-ci.yml +++ b/.gitlab/ci/static-analysis.gitlab-ci.yml @@ -24,11 +24,8 @@ static-analysis: extends: - .static-analysis-base - .static-analysis:rules:ee-and-foss - - .use-pg12 stage: test parallel: 4 - variables: - SETUP_DB: "true" script: - run_timed_command "retry yarn install --frozen-lockfile" - scripts/static-analysis @@ -38,6 +35,17 @@ static-analysis: paths: - tmp/feature_flags/ +static-analysis-with-database: + extends: + - .static-analysis-base + - .static-analysis:rules:ee-and-foss + - .use-pg12 + stage: test + script: + - bundle exec rake lint:static_verification_with_database + variables: + SETUP_DB: "true" + static-analysis as-if-foss: extends: - static-analysis diff --git a/bin/rails b/bin/rails index 5badb2fde0cb72bbb3cba8436721048dfd7e58dd..073966023774750c90fe9c89910c769a92da604b 100755 --- a/bin/rails +++ b/bin/rails @@ -1,9 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError => e - raise unless e.message.include?('spring') -end APP_PATH = File.expand_path('../config/application', __dir__) require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake index d87d5f578104597c1d1b951b55942e37f8af1277..17240489f64832c9ce080088e27780d3dc3ee29a 100755 --- a/bin/rake +++ b/bin/rake @@ -1,9 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError => e - raise unless e.message.include?('spring') -end require_relative '../config/boot' require 'rake' Rake.application.run diff --git a/lib/gitlab/popen/runner.rb b/lib/gitlab/popen/runner.rb index 60c2082844c1e6363386da51001736f14763631e..cd9ad270cd80c2fde537007181ec33ac54719cca 100644 --- a/lib/gitlab/popen/runner.rb +++ b/lib/gitlab/popen/runner.rb @@ -31,7 +31,7 @@ def all_success? end def all_stderr_empty? - results.all? { |result| stderr_empty_ignoring_spring(result) } + results.all? { |result| result.stderr.empty? } end def failed_results @@ -40,22 +40,9 @@ def failed_results def warned_results results.select do |result| - result.status.success? && !stderr_empty_ignoring_spring(result) + result.status.success? && !result.stderr.empty? end end - - private - - # NOTE: This is sometimes required instead of just calling `result.stderr.empty?`, if we - # want to ignore the spring "Running via Spring preloader..." output to STDERR. - # The `Spring.quiet=true` method which spring supports doesn't work, because it doesn't - # work to make it quiet when using spring binstubs (the STDERR is printed by `bin/spring` - # itself when first required, so there's no opportunity to set Spring.quiet=true). - # This should probably be opened as a bug against Spring, with a pull request to support a - # `SPRING_QUIET` env var as well. - def stderr_empty_ignoring_spring(result) - result.stderr.empty? || result.stderr =~ /\ARunning via Spring preloader in process [0-9]+\Z/ - end end end end diff --git a/lib/tasks/lint.rake b/lib/tasks/lint.rake index 7d1721f1df8d3a8f222a0fbc93065319c97c8dd7..62d31803f6ee52186c218602901a4e35be666dd1 100644 --- a/lib/tasks/lint.rake +++ b/lib/tasks/lint.rake @@ -12,6 +12,13 @@ unless Rails.env.production? dev:load ] do Gitlab::Utils::Override.verify! + end + + desc "GitLab | Lint | Static verification with database" + task static_verification_with_database: %w[ + lint:static_verification_env + dev:load + ] do Gitlab::Utils::DelegatorOverride.verify! end