ci: wire apps-package-check publish-hygiene gate into CI - #66
Draft
MaximusHaximus wants to merge 1 commit into
Draft
ci: wire apps-package-check publish-hygiene gate into CI#66MaximusHaximus wants to merge 1 commit into
MaximusHaximus wants to merge 1 commit into
Conversation
Add a package-check job to ci-trigger.yml calling the new shared apps-package-check.yml reusable workflow (publish-artifact hygiene via publint), and make example-db — the package modelling the published-library shape — the canonical consumer with a "check:package": "publint" script. The gate validates the packed tarball (exports/types/files resolution), which build/test/lint cannot see. Non-publishable packages define no check:package script; --if-present skips them. Claude-Session: https://claude.ai/code/session_01BNdm93FPjkK8G7NmuTEbXD
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
Nothing in CI looks at the packed artifact today — a package whose
exports/typespoint at unpacked files, or whosefilesset dropsCHANGELOG.md/MIGRATION.md, still goes green. The new sharedapps-package-check.ymlworkflow in0xPolygon/pipelines(companion PR: 0xPolygon/pipelines#54) closes that gap with publint, and this template is the canonical example of how a consuming repo wires it.What changed
.github/workflows/ci-trigger.yml: newpackage-checkjob —uses: 0xPolygon/pipelines/.github/workflows/apps-package-check.yml@main, mirroring howdrift-checkreferencesapps-codegen-drift-check.yml(thin one-line trigger,contents: readalready covers the called workflow's scopes).packages/example-db/package.json:"check:package": "publint"script +publint@^0.3.21devDependency.example-dbis the one package modelling the published-library shape (publishConfig,files,prepublishOnly); the other examples define nocheck:package, so the workflow's--if-presentskips them.pnpm-lock.yaml: lockfile update for publint.Verification
From a fresh checkout of this branch,
pnpm run --if-present buildthenpnpm -r --include-workspace-root run --if-present check:packagepass; publint packsexample-dband reports no errors (one non-blocking suggestion aboutrepository.urlformatting).Merge ordering
The pipelines PR (0xPolygon/pipelines#54) merges first — this trigger references the shared workflow
@main, so thepackage-checkjob here goes green only after it lands.https://claude.ai/code/session_01BNdm93FPjkK8G7NmuTEbXD