diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml
index c96628f72a2..937bfc7e93d 100644
--- a/.gitlab/ci/rails.gitlab-ci.yml
+++ b/.gitlab/ci/rails.gitlab-ci.yml
@@ -774,11 +774,19 @@ rspec-ee unit gitlab-duo-chat-zeroshot pg14:
rspec-ee unit gitlab-duo-chat-qa-fast pg14:
extends:
- .rspec-ee-base-gitlab-duo
- - .rails:rules:ee-gitlab-duo-chat-qa-fast
+ - .rails:rules:ee-gitlab-duo-chat-always
script:
- !reference [.base-script, script]
- rspec_paralellized_job "--tag fast_chat_qa_evaluation"
+rspec-ee unit gitlab-duo pg14:
+ extends:
+ - .rspec-ee-base-gitlab-duo
+ - .rails:rules:ee-gitlab-duo-chat-always
+ script:
+ - !reference [.base-script, script]
+ - rspec_paralellized_job "--tag gitlab_duo"
+
rspec-ee unit gitlab-duo-chat-qa pg14:
variables:
QA_EVAL_REPORT_FILENAME: "qa_evaluation_report.md"
diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml
index 90289faef0d..77b0e336c9a 100644
--- a/.gitlab/ci/rails/shared.gitlab-ci.yml
+++ b/.gitlab/ci/rails/shared.gitlab-ci.yml
@@ -85,13 +85,27 @@ include:
- bundle exec gem list gitlab_quality-test_tooling
- |
if [ "$CREATE_RAILS_TEST_FAILURE_ISSUES" == "true" ]; then
- bundle exec relate-failure-issue --input-files "rspec/rspec-*.json" --system-log-files "log" --project "gitlab-org/gitlab" --token "${TEST_FAILURES_PROJECT_TOKEN}" --related-issues-file "rspec/${CI_JOB_ID}-failed-test-issues.json";
+ bundle exec relate-failure-issue \
+ --token "${TEST_FAILURES_PROJECT_TOKEN}" \
+ --project "gitlab-org/gitlab" \
+ --input-files "rspec/rspec-*.json" \
+ --exclude-labels-for-search "QA,rspec:slow test" \
+ --system-log-files "log" \
+ --related-issues-file "rspec/${CI_JOB_ID}-failed-test-issues.json";
fi
if [ "$CREATE_RAILS_SLOW_TEST_ISSUES" == "true" ]; then
- bundle exec slow-test-issues --input-files "rspec/rspec-*.json" --project "gitlab-org/gitlab" --token "${TEST_FAILURES_PROJECT_TOKEN}" --related-issues-file "rspec/${CI_JOB_ID}-slow-test-issues.json";
+ bundle exec slow-test-issues \
+ --token "${TEST_FAILURES_PROJECT_TOKEN}" \
+ --project "gitlab-org/gitlab" \
+ --input-files "rspec/rspec-*.json" \
+ --related-issues-file "rspec/${CI_JOB_ID}-slow-test-issues.json";
fi
if [ "$ADD_SLOW_TEST_NOTE_TO_MERGE_REQUEST" == "true" ]; then
- bundle exec slow-test-merge-request-report-note --input-files "rspec/rspec-*.json" --project "gitlab-org/gitlab" --merge_request_iid "$CI_MERGE_REQUEST_IID" --token "${TEST_SLOW_NOTE_PROJECT_TOKEN}";
+ bundle exec slow-test-merge-request-report-note \
+ --token "${TEST_SLOW_NOTE_PROJECT_TOKEN}" \
+ --project "gitlab-org/gitlab" \
+ --input-files "rspec/rspec-*.json" \
+ --merge_request_iid "$CI_MERGE_REQUEST_IID";
fi
- echo -e "\e[0Ksection_end:`date +%s`:report_results_section\r\e[0K"
- tooling/bin/push_job_metrics || true
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 22e0531dd27..9e9f24d37bc 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -372,6 +372,7 @@
.ai-patterns: &ai-patterns
- "{,ee/,jh/}lib/gitlab/llm/**/*"
- "{,ee/,jh/}{,spec/}lib/gitlab/llm/**/*"
+ - "{,ee/,jh/}lib/gitlab/duo/**/*"
# DB patterns + .ci-patterns
.db-patterns: &db-patterns
@@ -2166,7 +2167,7 @@
when: manual
allow_failure: true
-.rails:rules:ee-gitlab-duo-chat-qa-fast:
+.rails:rules:ee-gitlab-duo-chat-always:
rules:
- !reference [".rails:rules:ee-gitlab-duo-chat-base", rules]
- <<: *if-merge-request
diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml
index ea2e52b028a..19f31b94a6a 100644
--- a/.rubocop_todo/gitlab/namespaced_class.yml
+++ b/.rubocop_todo/gitlab/namespaced_class.yml
@@ -326,7 +326,6 @@ Gitlab/NamespacedClass:
- 'app/models/user_custom_attribute.rb'
- 'app/models/user_detail.rb'
- 'app/models/user_highest_role.rb'
- - 'app/models/user_interacted_project.rb'
- 'app/models/user_mention.rb'
- 'app/models/user_preference.rb'
- 'app/models/user_status.rb'
diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml
index afc5e9d55c7..5cf13baf9e5 100644
--- a/.rubocop_todo/rspec/feature_category.yml
+++ b/.rubocop_todo/rspec/feature_category.yml
@@ -4754,7 +4754,6 @@ RSpec/FeatureCategory:
- 'spec/models/user_custom_attribute_spec.rb'
- 'spec/models/user_detail_spec.rb'
- 'spec/models/user_highest_role_spec.rb'
- - 'spec/models/user_interacted_project_spec.rb'
- 'spec/models/user_mentions/commit_user_mention_spec.rb'
- 'spec/models/user_mentions/issue_user_mention_spec.rb'
- 'spec/models/user_mentions/merge_request_user_mention_spec.rb'
diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml
index 16784226de8..1802675827d 100644
--- a/.rubocop_todo/rspec/named_subject.yml
+++ b/.rubocop_todo/rspec/named_subject.yml
@@ -2858,7 +2858,6 @@ RSpec/NamedSubject:
- 'spec/models/uploads/fog_spec.rb'
- 'spec/models/uploads/local_spec.rb'
- 'spec/models/user_custom_attribute_spec.rb'
- - 'spec/models/user_interacted_project_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/user_status_spec.rb'
- 'spec/models/users/credit_card_validation_spec.rb'
diff --git a/app/assets/javascripts/boards/components/board_app.vue b/app/assets/javascripts/boards/components/board_app.vue
index 4d915ff341a..2c8aa1cbe21 100644
--- a/app/assets/javascripts/boards/components/board_app.vue
+++ b/app/assets/javascripts/boards/components/board_app.vue
@@ -1,6 +1,4 @@
@@ -101,17 +68,11 @@ export default {
>
-
+
diff --git a/app/assets/javascripts/boards/components/board_content.vue b/app/assets/javascripts/boards/components/board_content.vue
index a6ff1653c17..9560f0e5fef 100644
--- a/app/assets/javascripts/boards/components/board_content.vue
+++ b/app/assets/javascripts/boards/components/board_content.vue
@@ -3,8 +3,6 @@ import { GlAlert } from '@gitlab/ui';
import { sortBy } from 'lodash';
import produce from 'immer';
import Draggable from 'vuedraggable';
-// eslint-disable-next-line no-restricted-imports
-import { mapState, mapActions } from 'vuex';
import BoardAddNewColumn from 'ee_else_ce/boards/components/board_add_new_column.vue';
import { s__ } from '~/locale';
import { defaultSortableOptions } from '~/sortable/constants';
@@ -29,15 +27,7 @@ export default {
EpicsSwimlanes: () => import('ee_component/boards/components/epics_swimlanes.vue'),
GlAlert,
},
- inject: [
- 'boardType',
- 'canAdminList',
- 'isIssueBoard',
- 'isEpicBoard',
- 'disabled',
- 'issuableType',
- 'isApolloBoard',
- ],
+ inject: ['boardType', 'canAdminList', 'isIssueBoard', 'isEpicBoard', 'disabled', 'issuableType'],
props: {
boardId: {
type: String,
@@ -51,7 +41,7 @@ export default {
type: Boolean,
required: true,
},
- boardListsApollo: {
+ boardLists: {
type: Object,
required: false,
default: () => {},
@@ -77,12 +67,11 @@ export default {
};
},
computed: {
- ...mapState(['boardLists', 'error']),
boardListsById() {
- return this.isApolloBoard ? this.boardListsApollo : this.boardLists;
+ return this.boardLists;
},
boardListsToUse() {
- const lists = this.isApolloBoard ? this.boardListsApollo : this.boardLists;
+ const lists = this.boardLists;
return sortBy([...Object.values(lists)], 'position');
},
canDragColumns() {
@@ -109,11 +98,10 @@ export default {
return this.canDragColumns ? options : {};
},
errorToDisplay() {
- return this.apolloError || this.error || null;
+ return this.apolloError || null;
},
},
methods: {
- ...mapActions(['moveList', 'unsetError']),
afterFormEnters() {
const el = this.canDragColumns ? this.$refs.list.$el : this.$refs.list;
el.scrollTo({ left: el.scrollWidth, behavior: 'smooth' });
@@ -126,11 +114,7 @@ export default {
}, flashAnimationDuration);
},
dismissError() {
- if (this.isApolloBoard) {
- setError({ message: null, captureError: false });
- } else {
- this.unsetError();
- }
+ setError({ message: null, captureError: false });
},
async updateListPosition({
item: {
@@ -139,17 +123,6 @@ export default {
newIndex,
to: { children },
}) {
- if (!this.isApolloBoard) {
- this.moveList({
- item: {
- dataset: { listId: movedListId, draggableItemType },
- },
- newIndex,
- to: { children },
- });
- return;
- }
-
if (draggableItemType !== DraggableItemTypes.list) {
return;
}
@@ -199,7 +172,7 @@ export default {
__typename: 'UpdateBoardListPayload',
errors: [],
list: {
- ...this.boardListsApollo[movedListId],
+ ...this.boardLists[movedListId],
position: targetPosition,
},
},
@@ -240,7 +213,7 @@ export default {
:board-id="boardId"
:list="list"
:filters="filterParams"
- :highlighted-lists-apollo="highlightedLists"
+ :highlighted-lists="highlightedLists"
:data-draggable-item-type="$options.draggableItemTypes.list"
:class="{ 'gl-display-none! gl-sm-display-inline-block!': addColumnFormVisible }"
@setActiveList="$emit('setActiveList', $event)"
diff --git a/app/assets/javascripts/boards/components/board_filtered_search.vue b/app/assets/javascripts/boards/components/board_filtered_search.vue
index 9443154999b..faaef226c21 100644
--- a/app/assets/javascripts/boards/components/board_filtered_search.vue
+++ b/app/assets/javascripts/boards/components/board_filtered_search.vue
@@ -1,7 +1,5 @@