diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
commit | 0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch) | |
tree | 4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /bin | |
parent | 744144d28e3e7fddc117924fef88de5d9674fe4c (diff) | |
download | gitlab-ce-0653e08efd039a5905f3fa4f6e9cef9f5d2f799c.tar.gz |
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/background_jobs | 83 | ||||
-rwxr-xr-x | bin/background_jobs_sk | 67 | ||||
-rwxr-xr-x | bin/background_jobs_sk_cluster | 76 | ||||
-rwxr-xr-x | bin/bundle | 4 | ||||
-rwxr-xr-x | bin/pngquant | 64 | ||||
-rwxr-xr-x | bin/rspec | 2 | ||||
-rwxr-xr-x | bin/rspec-stackprof | 2 |
7 files changed, 146 insertions, 152 deletions
diff --git a/bin/background_jobs b/bin/background_jobs index cbc501094c4..6aebc8126c6 100755 --- a/bin/background_jobs +++ b/bin/background_jobs @@ -1,9 +1,80 @@ #!/usr/bin/env bash -cd $(dirname $0)/.. || exit 1 +cd $(dirname $0)/.. +app_root=$(pwd) +sidekiq_workers=${SIDEKIQ_WORKERS:-1} +sidekiq_pidfile="$app_root/tmp/pids/sidekiq-cluster.pid" +sidekiq_logfile="$app_root/log/sidekiq.log" +gitlab_user=$(ls -l config.ru | awk '{print $3}') -if [ -n "$SIDEKIQ_WORKERS" ] ; then - exec bin/background_jobs_sk_cluster "$@" -else - exec bin/background_jobs_sk "$@" -fi +warn() +{ + echo "$@" 1>&2 +} + +get_sidekiq_pid() +{ + if [ ! -f $sidekiq_pidfile ]; then + warn "No pidfile found at $sidekiq_pidfile; is Sidekiq running?" + return + fi + + cat $sidekiq_pidfile +} + +stop() +{ + sidekiq_pid=$(get_sidekiq_pid) + + if [ $sidekiq_pid ]; then + kill -TERM $sidekiq_pid + fi +} + +restart() +{ + if [ -f $sidekiq_pidfile ]; then + stop + fi + + warn "Sidekiq output will be written to $sidekiq_logfile" + start_sidekiq "$@" >> $sidekiq_logfile 2>&1 +} + +start_sidekiq() +{ + cmd="exec" + chpst=$(command -v chpst) + + if [ -n "$chpst" ]; then + cmd="${cmd} ${chpst} -P" + fi + + # sidekiq-cluster expects '*' '*' arguments (one wildcard for each process). + for (( i=1; i<=$sidekiq_workers; i++ )) + do + processes_args+=("*") + done + + ${cmd} bin/sidekiq-cluster "${processes_args[@]}" -P $sidekiq_pidfile -e $RAILS_ENV "$@" +} + +action="$1" +shift + +case "$action" in + stop) + stop + ;; + start) + restart "$@" & + ;; + start_foreground) + start_sidekiq "$@" + ;; + restart) + restart "$@" & + ;; + *) + echo "Usage: RAILS_ENV=<env> SIDEKIQ_WORKERS=<n> $0 {stop|start|start_foreground|restart}" +esac diff --git a/bin/background_jobs_sk b/bin/background_jobs_sk deleted file mode 100755 index 0e9a5365d44..00000000000 --- a/bin/background_jobs_sk +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash - -cd $(dirname $0)/.. -app_root=$(pwd) -sidekiq_pidfile="$app_root/tmp/pids/sidekiq.pid" -sidekiq_logfile="$app_root/log/sidekiq.log" -sidekiq_config="$app_root/config/sidekiq_queues.yml" -gitlab_user=$(ls -l config.ru | awk '{print $3}') - -warn() -{ - echo "$@" 1>&2 -} - -stop() -{ - bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 -} - -restart() -{ - if [ -f $sidekiq_pidfile ]; then - stop - fi - - pkill -u $gitlab_user -f 'sidekiq [0-9]' - start_sidekiq -P $sidekiq_pidfile -d -L $sidekiq_logfile "$@" >> $sidekiq_logfile 2>&1 -} - -# Starts on foreground but output to the logfile instead stdout. -start_silent() -{ - start_sidekiq "$@" >> $sidekiq_logfile 2>&1 -} - -start_sidekiq() -{ - cmd="exec" - chpst=$(command -v chpst) - - if [ -n "$chpst" ]; then - cmd="${cmd} ${chpst} -P" - fi - - ${cmd} bundle exec sidekiq -C "${sidekiq_config}" -e $RAILS_ENV "$@" -} - -case "$1" in - stop) - stop - ;; - start) - restart "$@" - ;; - start_silent) - warn "Deprecated: Will be removed at 13.0 (see https://gitlab.com/gitlab-org/gitlab/-/issues/196731)." - start_silent - ;; - start_foreground) - start_sidekiq "$@" - ;; - restart) - restart "$@" - ;; - *) - echo "Usage: RAILS_ENV=<env> $0 {stop|start|start_silent|start_foreground|restart}" -esac diff --git a/bin/background_jobs_sk_cluster b/bin/background_jobs_sk_cluster deleted file mode 100755 index d48b5484fce..00000000000 --- a/bin/background_jobs_sk_cluster +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env bash - -cd $(dirname $0)/.. -app_root=$(pwd) -sidekiq_pidfile="$app_root/tmp/pids/sidekiq-cluster.pid" -sidekiq_logfile="$app_root/log/sidekiq.log" -gitlab_user=$(ls -l config.ru | awk '{print $3}') - -warn() -{ - echo "$@" 1>&2 -} - -get_sidekiq_pid() -{ - if [ ! -f $sidekiq_pidfile ]; then - warn "No pidfile found at $sidekiq_pidfile; is Sidekiq running?" - return - fi - - cat $sidekiq_pidfile -} - -stop() -{ - sidekiq_pid=$(get_sidekiq_pid) - - if [ $sidekiq_pid ]; then - kill -TERM $sidekiq_pid - fi -} - -restart() -{ - if [ -f $sidekiq_pidfile ]; then - stop - fi - - warn "Sidekiq output will be written to $sidekiq_logfile" - start_sidekiq "$@" >> $sidekiq_logfile 2>&1 -} - -start_sidekiq() -{ - cmd="exec" - chpst=$(command -v chpst) - - if [ -n "$chpst" ]; then - cmd="${cmd} ${chpst} -P" - fi - - # sidekiq-cluster expects '*' '*' arguments (one wildcard for each process). - for (( i=1; i<=$SIDEKIQ_WORKERS; i++ )) - do - processes_args+=("*") - done - - ${cmd} bin/sidekiq-cluster "${processes_args[@]}" -P $sidekiq_pidfile -e $RAILS_ENV "$@" -} - -case "$1" in - stop) - stop - ;; - start) - restart "$@" & - ;; - start_foreground) - start_sidekiq "$@" - ;; - restart) - restart "$@" & - ;; - *) - echo "Usage: RAILS_ENV=<env> SIDEKIQ_WORKERS=<n> $0 {stop|start|start_foreground|restart}" -esac diff --git a/bin/bundle b/bin/bundle index f19acf5b5cc..b70fcaf837b 100755 --- a/bin/bundle +++ b/bin/bundle @@ -1,3 +1,5 @@ #!/usr/bin/env ruby -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require_relative '../config/bundler_setup' + load Gem.bin_path('bundler', 'bundle') diff --git a/bin/pngquant b/bin/pngquant new file mode 100755 index 00000000000..8434e9d3ec9 --- /dev/null +++ b/bin/pngquant @@ -0,0 +1,64 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require 'rails' +require 'png_quantizator' +require 'parallel' +require 'rainbow/ext/string' +require_relative '../tooling/lib/tooling/images' + +return if Rails.env.production? + +def usage + puts <<~EOF + Usage: #{$0} [compress|lint] [PATH..] + + compress Compress all documentation PNG images using pngquant. + lint Checks that all documentation PNG images have been compressed with pngquant. + + PATH One or more files or directories. If empty, `doc/**/*.png` is used. + + EOF +end + +command = ARGV.shift +paths = ARGV.presence || ['doc'] + +files = paths.flat_map do |path| + File.directory?(path) ? Dir.glob(File.join(path, '/**/*.png')) : path +end + +case command +when 'compress' + puts "Compressing #{files.size} PNG files" + + Parallel.each(files) do |file| + was_uncompressed, savings = Tooling::Image.compress_image(file) + + if was_uncompressed + puts "#{file} was reduced by #{savings} bytes" + end + end +when 'lint' + puts "Checking #{files.size} PNG files" + + uncompressed_files = Parallel.map(files) do |file| + is_uncompressed, _ = Tooling::Image.compress_image(file, true) + if is_uncompressed + puts "Uncompressed file detected: ".color(:red) + file + file + end + end.compact + + if uncompressed_files.empty? + puts "All documentation images are optimally compressed!".color(:green) + else + warn( + "The #{uncompressed_files.size} image(s) above have not been optimally compressed using pngquant.".color(:red), + 'Please run "bin/pngquant compress" and commit the result.' + ) + abort + end +else + usage +end diff --git a/bin/rspec b/bin/rspec index 4236753c9c1..5aebc7336fe 100755 --- a/bin/rspec +++ b/bin/rspec @@ -5,5 +5,5 @@ begin rescue LoadError => e raise unless e.message.include?('spring') end -require 'bundler/setup' +require_relative '../config/bundler_setup' load Gem.bin_path('rspec-core', 'rspec') diff --git a/bin/rspec-stackprof b/bin/rspec-stackprof index 3bef45c607c..018bfe7da4b 100755 --- a/bin/rspec-stackprof +++ b/bin/rspec-stackprof @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -require 'bundler/setup' +require_relative '../config/bundler_setup' require 'stackprof' $:.unshift 'spec' require 'spec_helper' |