ci(wab): add root-level AWS Marketplace release workflow#235
Open
mo-jaber wants to merge 1 commit into
Open
Conversation
Publishes infra/wab to the AWS Marketplace listing (prod-67ziqtkrihz34) on infra/v* tags, with the version name driven by infra/wab/package.json — the same source of truth infra-release.yaml uses for GHCR. Builds the image, pushes it to the Marketplace ECR, and registers the version via the Catalog API (AddDeliveryOptions); idempotent on re-runs. The old Marketplace workflow stopped firing when WAB moved into the monorepo because GitHub does not run workflows under infra/wab/.github/workflows/. - OIDC auth (role-to-assume vars.WAB_MP_ROLE_ARN), SHA-pinned actions, concurrency guard. Version name is always derived from package.json; the git tag is only the trigger. Titles are v-prefixed to match the live listing. - Remove dead nested workflows: build-and-push.yml (Marketplace) and image.yaml (Docker Hub, dropped — GHCR is the live image channel). - Document the release convention in CLAUDE.md.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
WAB's AWS Marketplace listing (
prod-67ziqtkrihz34) is stuck at v1.0.8 while the source(
infra/wab/package.json) is at 1.4.7. When WAB moved into the monorepo, its Marketplaceworkflow ended up under
infra/wab/.github/workflows/— a path GitHub never executes — and evenwhen the old one ran it only pushed an image to ECR without registering the version on the
listing. So nothing has published a new Marketplace version since the move.
What's in this PR
.github/workflows/wab-marketplace-release.yml(repo ROOT). Oninfra/v*tags (or manualdispatch), it resolves the version from
infra/wab/package.json, builds the image, pushes it tothe Marketplace ECR (
709825985650…/bsv-blockchain/wab), and registers the version via theCatalog API (
StartChangeSet/AddDeliveryOptions). Idempotent — skips if the version alreadyexists.
infra/wab/.github/workflows/build-and-push.yml(Marketplace) andimage.yaml(Docker Hub —dropped; GHCR is the live image channel).
CLAUDE.mddocuments the release convention.Conventions / decisions
package.json; the date-basedinfra/v*tag is only the trigger.version_overrideis a manual escape hatch.VersionTitlev1.4.7(likev1.0.7/v1.0.8), ECR tag barewab:1.4.7(likewab:1.0.7).role-to-assume: ${{ vars.WAB_MP_ROLE_ARN }}. Actions SHA-pinnedper repo convention;
concurrencyguard added.DetailsDocument(the legacyDetailsfield returns non-strict JSON that breaksjq fromjson).release.yamlexcludesinfra/v*, so no npm publish is triggered.Validation done
actionlint— clean.AddDeliveryOptionschange-set JSON — parses, structure verified.docker build --platform linux/amd64 infra/wab— builds standalone (amd64/linux image),matching the proven
infra-release.yamlrecipe.describe-entity:DeliveryOptionTitleandCompatibleServicesmatch;
1.4.7not yet present.Required before the first publish (NOT in this PR — seller-account / AWS console)
wab-marketplace-publisherin seller account381492298518(trust scoped to this repo'srefs/tags/infra/v*andrefs/heads/main;permissions per the handover's least-privilege policy).
WAB_MP_ROLE_ARNto that role's ARN.After merge
gh workflow run wab-marketplace-release.yml -f version_override=1.4.7,watch the change set to
SUCCEEDED, verifyv1.4.7is latest on the listing.wab:1.0.0usage instructions via anUpdateDeliveryOptionschange set.