GitHub Actions Workflows
May 17, 2026 ยท View on GitHub
This directory contains the canonical CI/CD workflow definitions for the templjs monorepo.
Workflow Summary
draft-pr-gate.yml
Triggers:
- pull request target events for
opened,reopened,synchronize, andready_for_reviewonmainandstaging
Behavior:
- converts newly opened or reopened non-draft PRs back to draft
- converts ready PRs with new commits back to draft so CI can rerun before review automation resumes
- allows
ready_for_reviewonly when all observed checks on the PR head commit are green, excluding CodeRabbit and the draft-pr-gate workflow's own check
Policy posture:
- keeps CodeRabbit idle while CI is still red or pending
- expects contributors to mark PRs ready only after current jobs are green
ci.yml
Triggers:
- push to
mainandstaging - pull requests to
mainandstaging - nightly schedule
Key jobs:
Install DependenciesLintType CheckLint Work Item FrontmatterRequire Changeset- matrix
Test Build
Notes:
- contributor PRs that touch released artifacts must include a
.changeset/*.md - the automated version PR is exempt from the changeset guard
release.yml
Triggers:
- push to
staging - push to
main - published GitHub Releases
Behavior:
staging- computes CI-only prerelease versions
- generates prerelease notes from the shared release-notes template and uploads them as workflow artifacts
- publishes npm prereleases to
next - publishes VS Code Marketplace prereleases
main- maintains the Changesets version PR
- published GitHub Releases
vX.Y.Zpublishes stable npm packagesvscode-vX.Y.Zpublishes the stable VS Code extension
Key properties:
- four npm packages stay on one fixed train
vscode-templjsversions independently- npm publishing uses GitHub OIDC trusted publishing
- stable publishing is release-driven, not branch-push-driven
- release notes are fully mechanized from commit and pull-request messaging
benchmark.yml
Triggers:
- pull requests to
mainandstaging - pushes to
mainandstaging - nightly schedule
- manual dispatch
Behavior:
- runs the deterministic benchmark harness
- uploads machine-readable artifacts
- compares PRs against the latest successful
mainbaseline when available
Policy posture:
- informational on
staging - required on
mainpromotion PRs through repository rulesets
codeql.yml
Triggers:
- push to
mainandstaging - pull requests to
mainandstaging - weekly schedule
Behavior:
- runs CodeQL for
javascript-typescript
Policy posture:
- informational on
staging - required on
mainpromotion PRs through repository rulesets
Versioning Model
Changesets configuration lives in ../../.changeset/config.json.
- public npm package set:
@templjs/core@templjs/cli@templjs/volar@templjs/context-graph@templjs/language-core@templjs/language-service@templjs/language-server@templjs/semantify
- fixed synchronized train:
@templjs/core@templjs/cli@templjs/volar@templjs/context-graph
- independent extension:
vscode-templjs
Required Credentials
See ../SECRETS.md.
Current workflow credentials:
- required:
VSCODE_PUBLISHER_TOKEN
- optional:
CODECOV_TOKEN
- no
NPM_TOKENsecret is required; npm publishing uses trusted publishing
Canonical Runbooks
- recurring release and promotion flow:
- one-time repo setup and rulesets:
- secret and credential setup:
Local CI Parity
corepack enable
corepack prepare pnpm@8.15.0 --activate
pnpm install
pnpm run ci:lint
pnpm run ci:type-check
pnpm run ci:test
pnpm run ci:build
Use Node 24 locally unless you are explicitly testing matrix compatibility.
Release Quick Reference
- Merge contributor work into
staging - Let
stagingpublish prerelease artifacts automatically - Promote
stagingtomain - Merge the automated version PR on
main - Create a stable tag:
vX.Y.Zvscode-vX.Y.Z
- Publish the GitHub Release