diff options
-rw-r--r-- | app/serializers/pipeline_serializer.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/321788-fix-n-plus-1s.yml | 5 | ||||
-rw-r--r-- | changelogs/unreleased/6utzeit-de-master-patch-15431.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/ci/templates/Chef.gitlab-ci.yml | 5 | ||||
-rw-r--r-- | locale/gitlab.pot | 16 | ||||
-rw-r--r-- | spec/serializers/pipeline_serializer_spec.rb | 16 |
6 files changed, 42 insertions, 9 deletions
diff --git a/app/serializers/pipeline_serializer.rb b/app/serializers/pipeline_serializer.rb index ab2c6dfeace..807a90d7ca3 100644 --- a/app/serializers/pipeline_serializer.rb +++ b/app/serializers/pipeline_serializer.rb @@ -43,14 +43,14 @@ class PipelineSerializer < BaseSerializer :cancelable_statuses, :latest_statuses_ordered_by_stage, :latest_builds_report_results, - :manual_actions, :retryable_builds, - :scheduled_actions, :stages, :latest_statuses, :trigger_requests, :user, { + manual_actions: :metadata, + scheduled_actions: :metadata, downloadable_artifacts: { project: [:route, { namespace: :route }], job: [] diff --git a/changelogs/unreleased/321788-fix-n-plus-1s.yml b/changelogs/unreleased/321788-fix-n-plus-1s.yml new file mode 100644 index 00000000000..93246bc5988 --- /dev/null +++ b/changelogs/unreleased/321788-fix-n-plus-1s.yml @@ -0,0 +1,5 @@ +--- +title: Fix N+1s related to per-build metadata lookups +merge_request: 55053 +author: +type: performance diff --git a/changelogs/unreleased/6utzeit-de-master-patch-15431.yml b/changelogs/unreleased/6utzeit-de-master-patch-15431.yml new file mode 100644 index 00000000000..71da21dc571 --- /dev/null +++ b/changelogs/unreleased/6utzeit-de-master-patch-15431.yml @@ -0,0 +1,5 @@ +--- +title: Updating general Chef .gitlab-ci.yml template +merge_request: 54676 +author: +type: other diff --git a/lib/gitlab/ci/templates/Chef.gitlab-ci.yml b/lib/gitlab/ci/templates/Chef.gitlab-ci.yml index 5f17c93b853..d879e27dfcb 100644 --- a/lib/gitlab/ci/templates/Chef.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Chef.gitlab-ci.yml @@ -20,11 +20,6 @@ stages: - functional - deploy -foodcritic: - stage: lint - script: - - chef exec foodcritic . - cookstyle: stage: lint script: diff --git a/locale/gitlab.pot b/locale/gitlab.pot index fe3f283bee7..01113ed1020 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -31378,20 +31378,29 @@ msgstr "" msgid "Trending" msgstr "" -msgid "Trials|%{plan} Trial %{en_dash} %{num} day left" -msgid_plural "Trials|%{plan} Trial %{en_dash} %{num} days left" +msgid "Trials|%{planName} Trial %{enDash} %{num} day left" +msgid_plural "Trials|%{planName} Trial %{enDash} %{num} days left" msgstr[0] "" msgstr[1] "" +msgid "Trials|Compare all plans" +msgstr "" + msgid "Trials|Create a new group to start your GitLab Ultimate trial." msgstr "" msgid "Trials|Go back to GitLab" msgstr "" +msgid "Trials|Hey there" +msgstr "" + msgid "Trials|Skip Trial" msgstr "" +msgid "Trials|Upgrade %{groupName} to %{planName}" +msgstr "" + msgid "Trials|You can always resume this process by selecting your avatar and choosing 'Start an Ultimate trial'" msgstr "" @@ -31407,6 +31416,9 @@ msgstr "" msgid "Trials|You won't get a free trial right now but you can always resume this process by clicking on your avatar and choosing 'Start a free trial'" msgstr "" +msgid "Trials|Your trial ends on %{boldStart}%{trialEndDate}%{boldEnd}. We hope you are enjoying GitLab %{planName}. To continue using GitLab %{planName} after your trial ends, you will need to buy a subscription. You can also choose GitLab Premium if its features are sufficient for your needs." +msgstr "" + msgid "Trial|Company name" msgstr "" diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb index e0f6ab68034..bcaaa61eb04 100644 --- a/spec/serializers/pipeline_serializer_spec.rb +++ b/spec/serializers/pipeline_serializer_spec.rb @@ -209,6 +209,22 @@ RSpec.describe PipelineSerializer do end end + context 'with scheduled and manual builds' do + let(:ref) { 'feature' } + + before do + create(:ci_build, :scheduled, pipeline: resource.first) + create(:ci_build, :scheduled, pipeline: resource.second) + create(:ci_build, :manual, pipeline: resource.first) + create(:ci_build, :manual, pipeline: resource.second) + end + + it 'sends at most one metadata query for each type of build', :request_store do + # 1 for the existing failed builds and 2 for the added scheduled and manual builds + expect { subject }.not_to exceed_query_limit(1 + 2).for_query /SELECT "ci_builds_metadata".*/ + end + end + def create_pipeline(status) create(:ci_empty_pipeline, project: project, |