Skip to content

docs+ci: close out wave 1 — matrix entries, README rows, changelog - #134

Merged
naxty merged 1 commit into
mainfrom
naxty/close-out-wave1
Aug 31, 2026
Merged

docs+ci: close out wave 1 — matrix entries, README rows, changelog#134
naxty merged 1 commit into
mainfrom
naxty/close-out-wave1

Conversation

@naxty

@naxty naxty commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Problem

The 25 resource types from #126, #127 and #128 are on main with no ongoing test coverage and no documentation.

  • 0 of 20 wave-1 fixtures were in .github/conformance-matrix.txt, so neither push-to-main nor nightly exercised any of them. Their PR runs proved them once; nothing guarded them afterwards.
  • The README resource table listed 148 rows against 173 registered types.

Matrix — 113 → 128 active entries

Adds the 15 fixtures that passed CRUD and discovery on their own PR, which is the bar this file already asks for:

static-site · virtual-wan · vpn-site · bastion-host · all 11 cosmos-*

Ten stay out, each with its reason recorded inline:

Fixture(s) Why
app-service-plan, web-app, function-app, web-app-slot Subscription has a dedicated-VM quota of 0, and an App Service plan of any sku runs on dedicated VMs — verified against both B1 (Basic) and F1 (Free), refused identically
app-service-certificate, custom-hostname-binding Need a real verified custom domain (Azure serves an ownership challenge CI cannot answer)
virtual-hub Passes locally end to end (68m50s), but its CRUD phase measures ~59 min — longer than the OIDC client assertion stays valid, so the run dies on AADSTS700024 in the final phase
vpn-gateway, virtual-network-gateway, virtual-network-gateway-connection 60–90 min lifecycles, past the job's timeout-minutes: 120

Note virtual-hub is not a plugin bug — VirtualHub.Delete waits for the hub router correctly (ARM refuses DeleteVirtualHub while routingState is Provisioning, ~11 min past the create LRO reporting Succeeded). It's a credential-lifetime limit. Re-add once CI can refresh auth mid-phase.

Also: virtual-hub added to conformance-pr-skip.txt

It was excluded from the matrix but not from PR scope, so the next PR touching its fixture would have spent an hour to fail on the same expired assertion. Verified matrix and skip list have zero overlap (the two files are asserted disjoint by conformance-scope.sh).

README — 148 → 173 rows

Derived the gap from the schemas rather than by hand, so it catches anything I'd have missed. Added the 25 missing rows and re-sorted; the table and the registered types now agree exactly, and there are no stale rows.

Verification

registered: 173 | listed: 173 | missing: none
table sorted correctly: True

matrix: 128 | skip: 10 | overlap: none
duplicates: none
wrongly active (excluded fixtures): none

conformance-scope self-check: 13 passed, 0 failed
REUSE: compliant

Not in this PR

Two blockers that need people, not code:

  • Raise the subscription's App Service / regional vCPU quota → unblocks 4 Web fixtures
  • Let CI refresh Azure auth mid-phase → unblocks virtual-hub and any future >45-minute fixture

Both are recorded in the matrix comments with the exact removal condition.

The 25 resource types from PRs #126, #127 and #128 landed on main with no
ongoing test coverage and no documentation. Their pull-request conformance runs
proved them once, but nothing guarded them afterwards: none of their fixtures
were in the curated matrix, so neither main nor nightly exercised any of them.

Matrix: adds the 15 fixtures that passed CRUD *and* discovery on their own PR,
which is the bar this file asks for - static-site, virtual-wan, vpn-site,
bastion-host and all eleven cosmos-*. 113 active entries becomes 128.

Ten fixtures stay out, each with its reason recorded inline:

- app-service-plan, web-app, function-app, web-app-slot - the subscription has a
  dedicated-VM quota of 0 and an App Service plan of any sku runs on dedicated
  VMs. Verified against both B1 and F1, refused identically.
- app-service-certificate, custom-hostname-binding - need a real verified custom
  domain.
- virtual-hub - passes locally end to end (68m50s) but its CRUD phase measures
  ~59 min, longer than the OIDC client assertion stays valid, so the run dies on
  AADSTS700024 in the final phase. A credential-lifetime limit, not a plugin bug.
- vpn-gateway, virtual-network-gateway, virtual-network-gateway-connection -
  60-90 min lifecycles, past the job's timeout-minutes: 120.

virtual-hub also joins conformance-pr-skip.txt. It was excluded from the matrix
but not from PR scope, so a later PR touching its fixture would have spent an
hour to fail on the same expired assertion.

README: the resource table was 148 rows against 173 registered types. Adds the 25
missing rows, re-sorted; the table and the schemas now agree exactly.
@naxty
naxty merged commit b2cb5ae into main Aug 31, 2026
@naxty
naxty deleted the naxty/close-out-wave1 branch September 4, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant