From 37df8b9a965150924632c640f50f188cde766f9b Mon Sep 17 00:00:00 2001
From: Omar Qunsul <oqunsul@gitlab.com>
Date: Tue, 1 Oct 2024 17:47:27 +0000
Subject: [PATCH] DB Docs are up to date

Changelog: other
---
 .gitlab/ci/database.gitlab-ci.yml |  8 ++++++++
 .gitlab/ci/rules.gitlab-ci.yml    | 17 +++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/.gitlab/ci/database.gitlab-ci.yml b/.gitlab/ci/database.gitlab-ci.yml
index 2fe91da02eb4c..3e358b4f5a27c 100644
--- a/.gitlab/ci/database.gitlab-ci.yml
+++ b/.gitlab/ci/database.gitlab-ci.yml
@@ -167,3 +167,11 @@ db:rollback geo:
   script:
     - bundle exec rake db:migrate:geo VERSION=20170627195211
     - bundle exec rake db:migrate:geo
+
+db:docs-up-to-date:
+  extends:
+    - .db-job-base
+    - .db:rules:docs-up-to-date
+  script:
+    - bundle exec rake gitlab:db:dictionary:generate
+    - git diff --exit-code db/docs
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 2f22181fa01cd..4a4422aea33e6 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -354,6 +354,10 @@
 .lib-gitlab-patterns: &lib-gitlab-patterns
   - "{,ee/,jh/}lib/{,ee/,jh/}gitlab/**/*"
 
+.db-docs-patterns: &db-docs-patterns
+  - "{,ee/,jh/}{app/models}/**/*"
+  - "db/docs/**/*"
+
 # Patterns to match pure Ruby code
 .ruby-patterns: &ruby-patterns
   - "**/Rakefile"
@@ -926,6 +930,19 @@
     - !reference [".rails:rules:predictive-default-rules", rules]
     - !reference [".rails:rules:system:predictive-default-rules", rules]
 
+######################
+# DB rules #
+######################
+.db:rules:docs-up-to-date:
+  rules:
+    - <<: *if-not-ee
+      when: never
+    - <<: *if-merge-request-labels-pipeline-expedite
+      when: never
+    - <<: *if-merge-request-labels-run-all-rspec
+    - <<: *if-merge-request
+      changes: *db-docs-patterns
+
 ################
 # Shared rules #
 ################
-- 
GitLab