From ae5dbeb3d02cb2d36ff3b347b1c030df934671c7 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 12:33:47 -0800 Subject: [PATCH 01/10] feat: add SchemaSpy workflow for DB docs Add a GitHub Actions workflow to generate database documentation using SchemaSpy. Triggers on pushes to main when backend migration files change and via workflow_dispatch. Uses the bcgov/quickstart-openshift-helpers reusable workflow (v1.1.0 commit ref) and provides flyway locations for backend/src/main/resources/db/migration and migration-dev, setting the Flyway/SchemaSpy schema to 'silva' and granting necessary pages/contents write permissions. --- .github/workflows/schema-spy.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/schema-spy.yml diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml new file mode 100644 index 000000000..b218aef42 --- /dev/null +++ b/.github/workflows/schema-spy.yml @@ -0,0 +1,25 @@ +name: SchemaSpy + +on: + push: + branches: [main] + paths: + - "backend/src/main/resources/db/migration/**" + - "backend/src/main/resources/db/migration-dev/**" + workflow_dispatch: + +permissions: {} + +jobs: + schemaspy: + name: Generate DB Documentation + permissions: + contents: write + pages: write + uses: bcgov/quickstart-openshift-helpers/.github/workflows/.schema-spy.yml@ca6579bdadf383a2513397081f963889b92823a4 # v1.1.0 + with: + flyway_locations: >- + filesystem:./backend/src/main/resources/db/migration, + filesystem:./backend/src/main/resources/db/migration-dev + flyway_schema: silva + schemaspy_schema: silva From 0c153ae433c1eab9e514210e33142eaca0df9321 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 14:46:20 -0800 Subject: [PATCH 02/10] feat: change main to feature branch to temporarily spin up the workflow --- .github/workflows/schema-spy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index b218aef42..76e51a8eb 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -2,7 +2,7 @@ name: SchemaSpy on: push: - branches: [main] + branches: [feat/1177-setup-schemaspy-on-postgresql-database] paths: - "backend/src/main/resources/db/migration/**" - "backend/src/main/resources/db/migration-dev/**" From 8499b9806c6f567aa1240be42d0577ff3f424cf8 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 14:54:13 -0800 Subject: [PATCH 03/10] feat: change schema-spy workflow name --- .github/workflows/schema-spy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index 76e51a8eb..60597cb21 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -12,7 +12,7 @@ permissions: {} jobs: schemaspy: - name: Generate DB Documentation + name: SchemaSpy permissions: contents: write pages: write From d5a36914a502828efa965702b3be178324cb2d76 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 14:54:33 -0800 Subject: [PATCH 04/10] chore: comment out the paths --- .github/workflows/schema-spy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index 60597cb21..2503d46f0 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -3,9 +3,9 @@ name: SchemaSpy on: push: branches: [feat/1177-setup-schemaspy-on-postgresql-database] - paths: - - "backend/src/main/resources/db/migration/**" - - "backend/src/main/resources/db/migration-dev/**" + # paths: + # - "backend/src/main/resources/db/migration/**" + # - "backend/src/main/resources/db/migration-dev/**" workflow_dispatch: permissions: {} From 46bebdbd83b7bc7492f86d57b59bc44c45521bd0 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:00:22 -0800 Subject: [PATCH 05/10] chore: remove comments --- .github/workflows/schema-spy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index 2503d46f0..60597cb21 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -3,9 +3,9 @@ name: SchemaSpy on: push: branches: [feat/1177-setup-schemaspy-on-postgresql-database] - # paths: - # - "backend/src/main/resources/db/migration/**" - # - "backend/src/main/resources/db/migration-dev/**" + paths: + - "backend/src/main/resources/db/migration/**" + - "backend/src/main/resources/db/migration-dev/**" workflow_dispatch: permissions: {} From 45296ce61eb95fe07cc0fdc5aabf450caf3f8d7c Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:03:59 -0800 Subject: [PATCH 06/10] chore: add temporary whitespace to trigger schema spy pipeline --- .../resources/db/migration-dev/V4.0.0__enable_extensions.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql b/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql index 8d17bb36f..31279db3b 100644 --- a/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql +++ b/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql @@ -1,3 +1,4 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "pgcrypto"; CREATE EXTENSION IF NOT EXISTS "postgis"; + From e591256b6bbf1a46d0c4719aa0d03174499fd82d Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:13:15 -0800 Subject: [PATCH 07/10] chore: remove redundant empty line after testing --- .../resources/db/migration-dev/V4.0.0__enable_extensions.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql b/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql index 31279db3b..8d17bb36f 100644 --- a/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql +++ b/backend/src/main/resources/db/migration-dev/V4.0.0__enable_extensions.sql @@ -1,4 +1,3 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "pgcrypto"; CREATE EXTENSION IF NOT EXISTS "postgis"; - From f7bf93a94c710f24bedd43e752521183f7b727f7 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:15:00 -0800 Subject: [PATCH 08/10] feat: change schema-spy workflow job name --- .github/workflows/schema-spy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index 60597cb21..f59f9451a 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -12,7 +12,7 @@ permissions: {} jobs: schemaspy: - name: SchemaSpy + name: Generate SchemaSpy Documentation and Push to GitHub Pages permissions: contents: write pages: write From b75511850d804f84633e8cf36b90af900c636270 Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:15:26 -0800 Subject: [PATCH 09/10] feat: change schema-spy workflow target branch back to main after testing --- .github/workflows/schema-spy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index f59f9451a..674da0554 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -2,7 +2,7 @@ name: SchemaSpy on: push: - branches: [feat/1177-setup-schemaspy-on-postgresql-database] + branches: [main] paths: - "backend/src/main/resources/db/migration/**" - "backend/src/main/resources/db/migration-dev/**" From 449c1fa55d9046b77165c896aace25744f9cee6f Mon Sep 17 00:00:00 2001 From: Shayan Khorsandi Date: Fri, 6 Mar 2026 15:15:42 -0800 Subject: [PATCH 10/10] feat: add concurrency control on schema-spy workflow --- .github/workflows/schema-spy.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/schema-spy.yml b/.github/workflows/schema-spy.yml index 674da0554..9bcbcf4b4 100644 --- a/.github/workflows/schema-spy.yml +++ b/.github/workflows/schema-spy.yml @@ -1,5 +1,9 @@ name: SchemaSpy +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + on: push: branches: [main]