diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42cf15ddc..0d7d6597f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -312,6 +312,21 @@ jobs: with: target: //test/integration/submitqueue/extension/storage/... + conflict-integration-test: + name: Conflict Extension Test + if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + # This job executes untrusted PR code (make build/test/lint). Don't + # leave the GITHUB_TOKEN in the workspace git config while it runs. + persist-credentials: false + - uses: ./.github/actions/setup + - uses: ./.github/actions/run-bazel-test + with: + target: //test/integration/submitqueue/extension/conflict/... + # --------------------------------------------------------------------------- # CORE TESTS # --------------------------------------------------------------------------- @@ -417,6 +432,7 @@ jobs: - merger-integration-test - validator-integration-test - storage-integration-test + - conflict-integration-test - consumer-integration-test - web - web-e2e diff --git a/Makefile b/Makefile index 2f908cfb8..8f47af53d 100644 --- a/Makefile +++ b/Makefile @@ -427,6 +427,11 @@ local-init-submitqueue-schemas: ## Manually apply all database schemas echo " - Applying $$(basename $$file)..."; \ docker exec -i $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 mysql -uroot -proot submitqueue < $$file 2>&1 | grep -v "Using a password" || true; \ done + @echo "Applying Tango conflict analyzer schema to mysql-app..." + @for file in submitqueue/extension/conflict/tango/mysql/schema/*.sql; do \ + echo " - Applying $$(basename $$file)..."; \ + docker exec -i $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 mysql -uroot -proot submitqueue < $$file 2>&1 | grep -v "Using a password" || true; \ + done @echo "Applying queue schema to mysql-queue..." @for file in platform/extension/messagequeue/mysql/schema/*.sql; do \ echo " - Applying $$(basename $$file)..."; \ diff --git a/doc/howto/TESTING.md b/doc/howto/TESTING.md index a23136d6d..7700fe1a7 100644 --- a/doc/howto/TESTING.md +++ b/doc/howto/TESTING.md @@ -23,7 +23,7 @@ SubmitQueue uses **two separate databases** to demonstrate proper architectural ### 1. Application Database - **Purpose**: Business data (requests, counters, batches) -- **Schema**: `submitqueue/gateway/extension/storage/mysql/schema`, `submitqueue/orchestrator/extension/storage/mysql/schema`, `platform/extension/counter/mysql/schema` +- **Schema**: `submitqueue/gateway/extension/storage/mysql/schema`, `submitqueue/orchestrator/extension/storage/mysql/schema`, `platform/extension/counter/mysql/schema`, `submitqueue/extension/conflict/tango/mysql/schema` - **Used by**: Gateway (receipts, request logs, and read models), Orchestrator (requests, batches, builds, and counters) - **Connection**: `MYSQL_DSN`