ci: add pull_request checks (actionlint + package typecheck) - #20
Merged
Conversation
No workflow in this repo previously ran on pull_request — only publish-packages.yml, which triggers on push to main. This PR adds an MVP PR check that: - runs actionlint over workflow files - runs `tsc --noEmit` for each of the 4 published packages (docs-seo-schema, docs-seo-core, docs-seo-next, docs-seo-og) It catches broken exports and peer-dependency type drift (e.g. from a Dependabot bump) before merge instead of only when a consumer like mdk-docs upgrades and breaks. 🤖 Generated with Claude Code
npm ci failed in CI: fumadocs-mdx's postinstall imports package .ts source directly, which requires Node's native TypeScript support (unflagged since Node 23). Node 20 throws ERR_UNKNOWN_FILE_EXTENSION. Reproduced locally under Node 20 (fails) and Node 24 (passes, matches mdk-docs' own pinned Node version and engines field). Note: publish-packages.yml is also pinned to Node 20 and would hit the same failure if it ever ran `npm ci` — it currently doesn't, so it's latent, not fixed here (out of scope for this PR). 🤖 Generated with Claude Code
almssp
approved these changes
Aug 13, 2026
lucas-tortora
approved these changes
Aug 14, 2026
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.
Summary 🤖 Generated with Claude Code
pull_request-triggered workflow (.github/workflows/pr-checks.yml).Before this PR: the only workflow,
publish-packages.yml, ran onpushtomain— no Automated correctness check, only org-level security scanningactionlintjob: lints workflow YAML on every PR.typecheckjob: runstsc --noEmitper published package (docs-seo-schema,docs-seo-core,docs-seo-next,docs-seo-og) using each package's owntsconfig.json.Catches broken exports and peer-dependency type drift (e.g. a Dependabot bump changing a
fumadocs-core/next/reactpeer's types) before merge, instead of only surfacing when a consumer like upgrades and breaks.Follow-up from tetherto/docs-template#19, which flagged that no functional CI validates changes here.
Test plan
npm civerified locallytsc --noEmitverified passing locally for all 4 packagesactionlintjob passes in CI (no local actionlint available to pre-verify)🤖 Generated with Claude Code