Commit 28f82411 authored by Chad Woolley's avatar Chad Woolley

Add spring support to rails/rake binstubs

- It seems to have been inadvertently removed as part of Rails 5
  upgrade: https://gitlab.com/gitlab-org/gitlab/-/commit/44fef4fe
parent 3d1fac55
......@@ -24,8 +24,11 @@ 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
......@@ -35,17 +38,6 @@ 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
......
#!/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'
#!/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
......@@ -31,7 +31,7 @@ module Gitlab
end
def all_stderr_empty?
results.all? { |result| result.stderr.empty? }
results.all? { |result| stderr_empty_ignoring_spring(result) }
end
def failed_results
......@@ -40,9 +40,22 @@ module Gitlab
def warned_results
results.select do |result|
result.status.success? && !result.stderr.empty?
result.status.success? && !stderr_empty_ignoring_spring(result)
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
......@@ -12,13 +12,6 @@ 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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment