From a7662794cc41ce3a677be48b5a257002b180f79f Mon Sep 17 00:00:00 2001 From: Matt Davidson Date: Thu, 7 May 2026 10:23:14 -0700 Subject: [PATCH] ci: add CI + lint-pr-title workflows ci.yml runs on push to master and PRs: install, lint, format:check, build. Mirrors what AGENTS.md tells contributors to run before committing. lint-pr-title.yml enforces conventional-commit-style PR titles (feat:, fix:, chore:, etc.) so the merge log stays consistent. --- .github/workflows/ci.yml | 29 +++++++++++++++++++++++++++++ .github/workflows/lint-pr-title.yml | 16 ++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/lint-pr-title.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1fa3769 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,29 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 24 + cache: npm + + - run: npm ci + + - run: npm run lint + + - run: npm run format:check + + - run: npm run build diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml new file mode 100644 index 0000000..a10f104 --- /dev/null +++ b/.github/workflows/lint-pr-title.yml @@ -0,0 +1,16 @@ +name: Lint PR Title + +on: + pull_request_target: + types: [opened, edited, synchronize] + +permissions: + pull-requests: read + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}