diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index f3bd03f431c..d7b99eb3cb9 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -613,7 +613,10 @@ - qa/gdk/**/* - Gemfile.lock - yarn.lock + - scripts/frontend/postinstall.js - workhorse/**/* + - vendor/gems/**/* + - gems/**/* - VERSION - GITLAB_WORKHORSE_VERSION - GITLAB_METRICS_EXPORTER_VERSION @@ -914,14 +917,16 @@ - !reference [".qa:rules:package-and-test-never-run", rules] - <<: *if-default-branch-schedule-nightly # already executed in the 2-hourly schedule when: never - - <<: *if-default-branch-refs # Includes scheduled pipelines - variables: - BUILD_GDK_BASE: "true" - # We want to also rebuild the base image if MRs change certain components. - - <<: *if-merge-request - variables: - BUILD_GDK_BASE: "true" + - <<: *if-default-branch-refs + # Rebuild base only when relevant components change + - <<: *if-default-branch-refs changes: *gdk-component-patterns + variables: + BUILD_GDK_BASE: "true" + - <<: *if-merge-request + changes: *gdk-component-patterns + variables: + BUILD_GDK_BASE: "true" # The rest are included to be consistent with .qa:rules:e2e:test-on-gdk - <<: *if-merge-request-targeting-stable-branch changes: *setup-test-env-patterns diff --git a/app/services/merge_requests/merge_strategies/from_source_branch.rb b/app/services/merge_requests/merge_strategies/from_source_branch.rb index 9fe5fc5160b..927ac613f35 100644 --- a/app/services/merge_requests/merge_strategies/from_source_branch.rb +++ b/app/services/merge_requests/merge_strategies/from_source_branch.rb @@ -110,3 +110,5 @@ module MergeRequests end end end + +::MergeRequests::MergeStrategies::FromSourceBranch.prepend_mod diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index bbdbd68a78b..07be2bbf57b 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -510,7 +510,7 @@ production: &base ## Sidekiq sidekiq: - log_format: json # (default is the original format) + log_format: json # (text is the original format) # An array of tuples indicating the rules for re-routing a worker to a # desirable queue before scheduling. For example: # routing_rules: diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 9eb58ad01af..dea4ed6b160 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -34,7 +34,7 @@ unless Gitlab::Utils.to_boolean(ENV['SIDEKIQ_ENQUEUE_NON_NAMESPACED']) queues_config_hash[:namespace] = Gitlab::Redis::Queues::SIDEKIQ_NAMESPACE end -enable_json_logs = Gitlab.config.sidekiq.log_format == 'json' +enable_json_logs = Gitlab.config.sidekiq.log_format != 'text' Sidekiq.configure_server do |config| config[:strict] = false diff --git a/doc/administration/logs/index.md b/doc/administration/logs/index.md index bfab17d37e8..e093c03a13e 100644 --- a/doc/administration/logs/index.md +++ b/doc/administration/logs/index.md @@ -505,22 +505,16 @@ and as follows. ### `sidekiq.log` +> The default log format for Helm chart installations [changed from `text` to `json`](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3169) in GitLab 16.0 and later. + This file is located at: - `/var/log/gitlab/sidekiq/current` on Linux package installations. - `/home/git/gitlab/log/sidekiq.log` on self-compiled installations. GitLab uses background jobs for processing tasks which can take a long -time. All information about processing these jobs are written down to -this file. For example: - -```plaintext -2014-06-10T07:55:20Z 2037 TID-tm504 ERROR: /opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/1.9.1/gems/redis-3.0.7/lib/redis/client.rb:228:in `read' -2014-06-10T18:18:26Z 14299 TID-55uqo INFO: Booting Sidekiq 3.0.0 with redis options {:url=>"redis://localhost:6379/0", :namespace=>"sidekiq"} -``` - -Instead of the previous format, you can opt to generate JSON logs for -Sidekiq. For example: +time. All information about processing these jobs are written to this +file. For example: ```json { @@ -547,10 +541,25 @@ Sidekiq. For example: } ``` +Instead of JSON logs, you can opt to generate text logs for Sidekiq. For example: + +```plaintext +2023-05-16T16:08:55.272Z pid=82525 tid=23rl INFO: Initializing websocket +2023-05-16T16:08:55.279Z pid=82525 tid=23rl INFO: Booted Rails 6.1.7.2 application in production environment +2023-05-16T16:08:55.279Z pid=82525 tid=23rl INFO: Running in ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [arm64-darwin22] +2023-05-16T16:08:55.279Z pid=82525 tid=23rl INFO: See LICENSE and the LGPL-3.0 for licensing details. +2023-05-16T16:08:55.279Z pid=82525 tid=23rl INFO: Upgrade to Sidekiq Pro for more features and support: https://sidekiq.org +2023-05-16T16:08:55.286Z pid=82525 tid=7p4t INFO: Cleaning working queues +2023-05-16T16:09:06.043Z pid=82525 tid=7p7d class=ScheduleMergeRequestCleanupRefsWorker jid=efcc73f169c09a514b06da3f INFO: start +2023-05-16T16:09:06.050Z pid=82525 tid=7p7d class=ScheduleMergeRequestCleanupRefsWorker jid=efcc73f169c09a514b06da3f INFO: arguments: [] +2023-05-16T16:09:06.065Z pid=82525 tid=7p81 class=UserStatusCleanup::BatchWorker jid=e279aa6409ac33031a314822 INFO: start +2023-05-16T16:09:06.066Z pid=82525 tid=7p81 class=UserStatusCleanup::BatchWorker jid=e279aa6409ac33031a314822 INFO: arguments: [] +``` + For Linux package installations, add the configuration option: ```ruby -sidekiq['log_format'] = 'json' +sidekiq['log_format'] = 'text' ``` For self-compiled installations, edit the `gitlab.yml` and set the Sidekiq @@ -559,7 +568,7 @@ For self-compiled installations, edit the `gitlab.yml` and set the Sidekiq ```yaml ## Sidekiq sidekiq: - log_format: json + log_format: text ``` ### `sidekiq_client.log` diff --git a/qa/gdk/Dockerfile.gdk.dockerignore b/qa/gdk/Dockerfile.gdk.dockerignore index ef1074ed833..d4b2ec7449a 100644 --- a/qa/gdk/Dockerfile.gdk.dockerignore +++ b/qa/gdk/Dockerfile.gdk.dockerignore @@ -1,11 +1,17 @@ .bundle/ +builds/ +changelogs/ danger/ +data/ doc/ +rubocop/ +storybook/ log/*.log node_modules/ -rubocop/ tmp/* +*.md + db/fixtures/ !db/fixtures/development/01_admin.rb !db/fixtures/development/02_application_settings.rb @@ -19,3 +25,13 @@ scripts/ qa/ !qa/gdk + +spec/ +!spec/contracts +!spec/factories +!spec/support + +ee/spec +!ee/spec/contracts +!ee/spec/factories +!ee/spec/support