60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# Task 2 — Wave 2 Task B5, the three ghost release lanes
|
|
|
|
Wave 2 offered two outcomes for `mongoShardedTest`, `mongoAtlasTest` and `mongoKmsTest`: implement
|
|
them, or demote them and stop describing an unrunnable gate. **(b) Demote was taken**, and it is
|
|
reflected in all three places the plan names.
|
|
|
|
## `src/config/mongodb/release-contracts.json`
|
|
|
|
All three moved out of the Stable blocking set into `experimental_contracts`, each carrying
|
|
`"blocking": false`, `"promotion": "experimental"` and a `not_promoted_reason` that states the
|
|
mechanism rather than an intention:
|
|
|
|
> A manifest entry pointing at an unregistered task does not fail; it is simply never run, and the
|
|
> release reports green for a capability nobody qualified. Demoted rather than implemented so the
|
|
> green means what it says.
|
|
|
|
That is the correct reading. A release manifest naming a task that no build file registers is not a
|
|
failing gate — it is an absent one, and absence is indistinguishable from success in a report that
|
|
counts failures.
|
|
|
|
## `docs/mongodb/advanced/sharding.md`
|
|
|
|
The gate row now reads:
|
|
|
|
> **Not promoted.** No `mongoShardedTest` lane is registered, and a sharded cluster is not an
|
|
> environment this repository stands up. Listed under `experimental_contracts` in
|
|
> `src/config/mongodb/release-contracts.json`; promoting it needs the lane, its required class, and
|
|
> protected-environment evidence to exist first.
|
|
|
|
## `scripts/verify-mongodb-advanced.sh`
|
|
|
|
Setting `MONGODB_SHARDED_URI` is now an explicit error rather than an invocation of a task that does
|
|
not exist:
|
|
|
|
```
|
|
sharded topology is experimental and has no registered lane;
|
|
MONGODB_SHARDED_URI was set but mongoShardedTest does not exist.
|
|
See experimental_contracts in src/config/mongodb/release-contracts.json.
|
|
```
|
|
|
|
The distinction the script draws is worth keeping: an operator who exported the URI expected a
|
|
qualification to run, so silence would be worse than failure. With the URI unset it records missing
|
|
evidence instead, which is a different statement from a pass.
|
|
|
|
## The arbiter
|
|
|
|
```bash
|
|
cd src
|
|
./gradlew :app-bootstrap:test --tests '*ReleaseManifestTaskExistenceTest' --console=plain
|
|
```
|
|
|
|
`BUILD SUCCESSFUL` — 1 test, 0 failures, 0 skipped. The manifest names no blocking task that the
|
|
build does not register.
|
|
|
|
## Registered Mongo lanes, for the record
|
|
|
|
`mongoStableContractTest`, `mongoReplicaSetTest`, `mongoFailoverTest`, `mongoMigrationTest`,
|
|
`mongoCompatibilityTest`, `mongoSecurityIntegrationTest`, `mongoPerformanceTest` — seven, and none of
|
|
the three demoted names among them, which is the state the demotion describes.
|