From f520f0a91162d4ac9ee973e2fff9063ecd91d2b3 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Sun, 12 Apr 2026 08:16:46 -0400 Subject: [PATCH] Add GitHub Actions CI workflow - Runs typecheck and tests on push/PR to master - Publishes to npm on master push (requires NPM_TOKEN secret) Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..fcdf8b4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,38 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + - run: npm ci + - run: npm run typecheck + - run: npm test + + publish: + needs: test + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + permissions: + id-token: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + - run: npm ci + - run: npm run build + - run: npm publish --access public + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }}