From 03ec9fd2d6b17be4b7203f0ff44f60946c2f5103 Mon Sep 17 00:00:00 2001 From: Lee Hannigan Date: Fri, 11 Sep 2026 15:51:32 +0000 Subject: [PATCH 1/3] ci(integration): restore the indentation that stops the workflow loading Commit 8d3d585 (#312) moved four lines in integration.yml one column left: two comment lines and the two "run: sudo journalctl" lines in the syslog dump steps of run-rust-integration and run-rust-integration-postgres-novector. The run key no longer aligns with its sibling if and name keys, so the file is not valid YAML. GitHub cannot load it, and since 10:41 UTC on 2026-09-11 every run of this workflow is a zero-job failure named by the file path instead of "Integration Tests", for pull_request, merge_group and push alike. Branch protection on main requires the integration status. A status that can never be reported leaves every pull request opened since then BLOCKED with all other checks green (#341, #340, #343 at the time of writing), and the merge queue cannot advance. This restores the four lines to their previous indentation. Nothing else changes. Verified by parsing the file before and after: the main version fails with "while parsing a block collection", the fixed version loads with the seven expected jobs. --- .github/workflows/integration.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index d2f578d8c..da5d274aa 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -283,11 +283,11 @@ jobs: EXTENDDB_TEST_PG_CONNECTION_STRING: postgresql://postgres:devpass@127.0.0.1:5432 run: cargo test --release -p extenddb-storage-postgres --test vector_control_plane - # The daemonized server logs to syslog; dump it so server-side failures + # The daemonized server logs to syslog; dump it so server-side failures # are diagnosable from the job log. - name: Dump server syslog on failure if: failure() - run: sudo journalctl -t extenddb --no-pager -n 500 || true + run: sudo journalctl -t extenddb --no-pager -n 500 || true # The runtime-detection proof: the same binary, against a PostgreSQL with no # pgvector, must refuse vector indexes over the wire. Today the job above runs @@ -357,11 +357,11 @@ jobs: devtools/run-tests --extenddb --rust-integration --release --filter vector_index_unsupported - # The daemonized server logs to syslog; dump it so server-side failures + # The daemonized server logs to syslog; dump it so server-side failures # are diagnosable from the job log. - name: Dump server syslog on failure if: failure() - run: sudo journalctl -t extenddb --no-pager -n 500 || true + run: sudo journalctl -t extenddb --no-pager -n 500 || true # No storage-level step here on purpose. Those tests build their own # extension-free scratch databases, so they behave identically on either From 62138b318dfe43525f55c3e3016274652b88ef2f Mon Sep 17 00:00:00 2001 From: Lee Hannigan Date: Fri, 11 Sep 2026 14:33:13 +0000 Subject: [PATCH 2/3] chore(licenses): regenerate MongoDB notices for workspace version 0.1.11 SOFTWARE-LICENSE-NOTICES-MONGODB.html was generated on the #331 branch, which was cut before #332 bumped the workspace to 0.1.11. The ten drifted lines are the workspace's own crates at 0.1.10; no third-party dependency or license changed. The Licenses workflow's "MongoDB notices must be current" step fails on main since the #331 merge. Signed-off-by: Lee Hannigan (cherry picked from commit 52684803a2f9d509ec0557421873a7e18c24d3ab) --- SOFTWARE-LICENSE-NOTICES-MONGODB.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/SOFTWARE-LICENSE-NOTICES-MONGODB.html b/SOFTWARE-LICENSE-NOTICES-MONGODB.html index bddac1d81..57d9567ee 100644 --- a/SOFTWARE-LICENSE-NOTICES-MONGODB.html +++ b/SOFTWARE-LICENSE-NOTICES-MONGODB.html @@ -7113,16 +7113,16 @@

Used by:

Apache License 2.0

Used by:

    -
  • extenddb-app 0.1.10
  • -
  • extenddb-auth 0.1.10
  • -
  • extenddb 0.1.10
  • -
  • extenddb-cache 0.1.10
  • -
  • extenddb-config 0.1.10
  • -
  • extenddb-core 0.1.10
  • -
  • extenddb-engine 0.1.10
  • -
  • extenddb-server 0.1.10
  • -
  • extenddb-storage 0.1.10
  • -
  • extenddb-storage-mongodb 0.1.10
  • +
  • extenddb-app 0.1.11
  • +
  • extenddb-auth 0.1.11
  • +
  • extenddb 0.1.11
  • +
  • extenddb-cache 0.1.11
  • +
  • extenddb-config 0.1.11
  • +
  • extenddb-core 0.1.11
  • +
  • extenddb-engine 0.1.11
  • +
  • extenddb-server 0.1.11
  • +
  • extenddb-storage 0.1.11
  • +
  • extenddb-storage-mongodb 0.1.11
  • allocator-api2 0.2.21
  • anyhow 1.0.103
  • arraydeque 0.5.1
  • From 73707bf9264d3dd786f0cd3af4149eeeb4245c28 Mon Sep 17 00:00:00 2001 From: Lee Hannigan Date: Fri, 11 Sep 2026 14:40:38 +0000 Subject: [PATCH 3/3] ci(licenses): run the notices check on every pull request and merge group The notices-current job becomes a required status check. A required check whose workflow is path-filtered never reports on a pull request outside its paths, and that pull request can never merge, so the pull_request and merge_group triggers lose their path filters. The job takes under three minutes. The push trigger keeps its filter since it gates nothing. Signed-off-by: Lee Hannigan (cherry picked from commit 35f42a2028ce032ad42e43830255839248dc6321) --- .github/workflows/licenses.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/licenses.yml b/.github/workflows/licenses.yml index a9a2cc5e5..75d1ff2a6 100644 --- a/.github/workflows/licenses.yml +++ b/.github/workflows/licenses.yml @@ -7,29 +7,21 @@ # so it goes stale on any version bump or dependency change. Each production # backend has its own manifest because its feature set has its own dependency # closure. Until now the only check lived in release-image's gate, so a PR could merge fully green -# while leaving main unreleasable — exactly what happened with the 0.1.6 +# while leaving main unreleasable, which is what happened with the 0.1.6 # bump (#271, fixed by #272). This runs the SAME script with the SAME pinned # cargo-about (the script refuses any other version), so PR-time and # release-time can never disagree. # -# Path-filtered to the generator's actual inputs; the release gate remains -# the unconditional backstop. +# The pull_request and merge_group triggers are unconditional because the +# notices-current job is a required status check: a path-filtered required +# check never reports on a PR outside its paths, and that PR can never merge. +# The job takes under three minutes. The push trigger keeps the path filter, +# since it only reports on main and gates nothing. name: Licenses on: pull_request: - paths: - - '**/Cargo.toml' - - 'Cargo.lock' - - 'SOFTWARE-LICENSE-NOTICES.html' - - 'SOFTWARE-LICENSE-NOTICES-MONGODB.html' - - 'SOFTWARE-LICENSE-NOTICES-DEV.html' - - 'about.toml' - - 'about.hbs' - - 'devtools/generate-software-license-notices' - - 'devtools/generate-dev-license-notices' - - '.github/workflows/licenses.yml' merge_group: push: branches: [main]