Skip to content

feat: CI/CD - #1

Merged
miguelramos merged 8 commits into
mainfrom
feat/ci
Apr 16, 2026
Merged

feat: CI/CD#1
miguelramos merged 8 commits into
mainfrom
feat/ci

Conversation

@miguelramos

Copy link
Copy Markdown
Member

No description provided.

Miguel Ramos added 8 commits April 16, 2026 17:53
CI job runs lint, typecheck, test, and build in parallel on every push
to main and every pull request. Release job triggers on push to main,
checks for queued changesets via workspace-tools, bumps versions,
tags, pushes, and publishes to npm.
repo.config.toml declares the changeset path, version strategy
(unified, patch default, snapshot format), dependency propagation
rules, npm registry settings, backup policy, changelog generation
(keep-a-changelog), audit weights, and conventional-commit type
mapping.

.changesets/ scaffolds the changeset directory with an example yaml
and a history/.gitkeep so the directory is versioned.

.gitignore excludes .workspace-backups/ (transient CLI backups) while
keeping .changesets/ and repo.config.* versioned.
.githooks/pre-push refuses the push when no changeset files exist in
.changesets/ (excluding README-example.yaml and history/). Bypass with
git push --no-verify.

The prepare npm script points core.hooksPath at .githooks so the hook
installs automatically on npm install. No husky, no jq, no workspace
CLI required at hook time — pure POSIX sh against the filesystem.
Declare Node 22.12.0 for both local development and CI. Referenced by
actions/setup-node in the workflows.
Switch the lint/typecheck/test/build jobs from pnpm to npm, using npm
ci against package-lock.json and setup-node's built-in npm cache.

Restrict triggers: push runs on every non-main branch, pull_request
runs on every target. Pushes to main no longer trigger CI because the
merging PR already ran it.
Correct the repository gate from websublime/vite-open-api-server to
websublime/delta so the job actually runs on this repo.

Switch from pnpm to npm: npm ci for install, npm run build, and
npm publish --access public for the single-package release (no more
recursive monorepo filter, which did not apply).

setup-node now configures the npm registry URL and writes the auth
token through NODE_AUTH_TOKEN, removing the manual ~/.npmrc dance.
workspace-tools emits changesets as .json, not .yaml. Update the glob
and the header comment, and drop the README-example.yaml exclusion
that was dead code under the .json filter.
@miguelramos miguelramos self-assigned this Apr 16, 2026
@miguelramos
miguelramos merged commit f7f0327 into main Apr 16, 2026
8 checks passed
@miguelramos
miguelramos deleted the feat/ci branch April 16, 2026 17:20
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