Skip to content

OIDC Marketplace publishing (no PAT, no silent skip) + selective CI + scalar docs#45

Merged
MelbourneDeveloper merged 1 commit into
mainfrom
fixes
Jun 11, 2026
Merged

OIDC Marketplace publishing (no PAT, no silent skip) + selective CI + scalar docs#45
MelbourneDeveloper merged 1 commit into
mainfrom
fixes

Conversation

@MelbourneDeveloper

@MelbourneDeveloper MelbourneDeveloper commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Why

The VS Code Marketplace was stuck at 0.8.0 — releases 0.9.0 and 0.10.0 published to npm + GitHub Releases but never reached the Marketplace. The release workflow's publish step was gated on a VSCE_PAT secret that isn't configured, and on a missing PAT it printed a message and exit 0, so the step went green and the miss was silent for two releases.

What changed

release.yml — Marketplace publish via Microsoft Entra OIDC, no stored PAT, no silent skip.

  • New publish-marketplace job bound to environment: release so the GitHub OIDC subject (repo:Nimblesite/typeDiagram:environment:release) matches the shared Entra app's wildcard federated credential.
  • azure/login (OIDC, allow-no-subscriptions) → mint a Marketplace-scoped token via az account get-access-token --resource 499b84ac-…vsce publish (pinned @vscode/vsce@3.9.2, --skip-duplicate, --pre-release only for --suffixed tags). Follows the Nimblesite/NimblesiteDeployment runbook (which documents that vsce --azure-credential is buggy, so we mint the token ourselves).
  • The VSCE_PAT gate and its exit 0 are gone — any failure now turns the release red.
  • Actions SHA-pinned (azure/login@v2.3.0, download-artifact@v4.3.0).
  • Repo onboarded per the runbook: release environment + non-secret AZURE_CLIENT_ID/AZURE_TENANT_ID. Publisher nimblesite is already an authorized member via the shared app.

ci.yml — path-selective. Website/docs-only PRs run a lightweight build + lint + web-unit path and skip the full framework test matrix, bundle-size, Playwright e2e, and Shipwright gates. The single CI job always runs/reports, so it stays valid as a required check.

Docs/site — DateTime/Uuid/Decimal scalars + strict unknown-type codegen documented across the language reference, converters, CLI, getting-started, and README; a 0.11 release blog post; and a plan doc for the remediation.

Follow-up

Merge → tag v0.11.0 → the OIDC job publishes the VSIX as a stable Marketplace release.

…e CI; docs for scalars; v0.11.0 prep

- release.yml: publish VSIX via Microsoft Entra OIDC in a dedicated
  publish-marketplace job bound to environment:release. Removes the VSCE_PAT
  gate that silently exit-0'd and stranded 0.9.0/0.10.0 off the Marketplace.
  Mints a Marketplace-scoped token from the OIDC session per the Nimblesite
  runbook; any failure now fails the release loudly.
- ci.yml: website/docs-only PRs run a lightweight build+lint+web-test path and
  skip the full framework matrix, bundle-size, Playwright e2e, and Shipwright
  gates. Single CI job still always reports for branch protection.
- docs: DateTime/Uuid/Decimal scalars + strict unknown-type codegen across
  language-reference, converters, cli, getting-started, README.
- blog: 0.11 release post. plan doc for the OIDC remediation.
@MelbourneDeveloper MelbourneDeveloper merged commit d7f3f7e into main Jun 11, 2026
1 check passed
@MelbourneDeveloper MelbourneDeveloper deleted the fixes branch June 11, 2026 20:51
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