diff options
Diffstat (limited to '.gitlab/ci/rails.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/rails.gitlab-ci.yml | 71 |
1 files changed, 45 insertions, 26 deletions
diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 385b0e8b68b..7efcc4b58a3 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -305,6 +305,20 @@ rspec-ee unit clickhouse: - .rspec-base-pg14-clickhouse23 - .rails:rules:clickhouse-changes +gitlab:clickhouse:rollback:main: + extends: + - .rspec-base + - .production # Disable webmock from test environment + - .use-pg14-clickhouse23 + - .rails:rules:clickhouse-changes + script: + - cp config/click_house.yml.example config/click_house.yml + - 'sed -i "s|url:.*$|url: http://clickhouse:8123|g" config/click_house.yml' + - 'sed -i "s|test:$|production:|g" config/click_house.yml' + - !reference [.base-script, script] + - bundle exec rake gitlab:clickhouse:migrate && + bundle exec rake gitlab:clickhouse:rollback:main VERSION=0 + gitlab:setup: extends: .db-job-base variables: @@ -327,21 +341,13 @@ gitlab:setup: # These intermediate jobs allow us to collect the artifacts of # more than 50 jobs and still use `needs:` to ensure a timely execution .artifact-collector: + extends: .base-artifacts stage: post-test variables: GIT_STRATEGY: none image: alpine:3.17 script: - - mkdir -p coverage deprecations rspec auto_explain - - ls coverage/ deprecations/ rspec/ auto_explain/ - artifacts: - expire_in: 7d - when: always - paths: - - coverage/ - - deprecations/ - - rspec/ - - auto_explain/ + - ls -R rspec:artifact-collector unit: extends: @@ -751,41 +757,54 @@ rspec system pg14-as-if-foss clusterwide-db: - .clusterwide-db - .rails:rules:clusterwide-db -rspec-ee unit gitlab-duo-chat pg14: +.rspec-ee-base-gitlab-duo: + extends: + - .rspec-ee-base-pg14 variables: REAL_AI_REQUEST: "true" - RSPEC_RETRY_RETRY_COUNT: 0 + +rspec-ee unit gitlab-duo-chat-zeroshot pg14: extends: - - .rspec-ee-base-pg14 - - .rails:rules:ee-gitlab-duo-chat-base - parallel: - matrix: - - DUO_RSPEC: ["lib/gitlab/llm/chain/agents/zero_shot/executor_real_requests_spec.rb", "support_specs/helpers/chat_qa_evaluation_helpers_spec.rb"] + - .rspec-ee-base-gitlab-duo + - .rails:rules:ee-gitlab-duo-chat-optional + script: + - !reference [.base-script, script] + - rspec_parallelized_job "--tag zeroshot_executor" + +rspec-ee unit gitlab-duo-chat-qa-fast pg14: + extends: + - .rspec-ee-base-gitlab-duo + - .rails:rules:ee-gitlab-duo-chat-always script: - !reference [.base-script, script] - - bundle exec rspec -Ispec -rspec_helper --failure-exit-code 0 --tag real_ai_request --color -- ee/spec/${DUO_RSPEC} + - rspec_parallelized_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_parallelized_job "--tag gitlab_duo" rspec-ee unit gitlab-duo-chat-qa pg14: variables: - REAL_AI_REQUEST: "true" + QA_EVAL_REPORT_FILENAME: "qa_evaluation_report.md" RSPEC_RETRY_RETRY_COUNT: 0 extends: - - .rspec-ee-base-pg14 - - .rails:rules:ee-gitlab-duo-chat-base - parallel: - matrix: - - DUO_RSPEC: ["qa_epic_spec.rb", "qa_issue_spec.rb"] + - .rspec-ee-base-gitlab-duo + - .rails:rules:ee-gitlab-duo-chat-qa-full script: - !reference [.base-script, script] - source ./scripts/utils.sh - install_gitlab_gem - - bundle exec rspec -Ispec -rspec_helper --failure-exit-code 0 --tag real_ai_request --color -- ee/spec/lib/gitlab/llm/chain/agents/zero_shot/${DUO_RSPEC} + - bundle exec rspec -Ispec -rspec_helper --failure-exit-code 0 --color --tag chat_qa_evaluation -- ee/spec/lib/gitlab/llm/chain/agents/zero_shot/qa_evaluation_spec.rb - ./scripts/duo_chat/reporter.rb artifacts: expire_in: 5d paths: - tmp/duo_chat/qa*.json - - "${DUO_RSPEC}.md" + - "${QA_EVAL_REPORT_FILENAME}" rspec-ee migration pg14: extends: |