Add a contribution guide and a maintainer's guide #26
This file contains 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
name: Static checks and tests | |
on: push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
check: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
node: [18, 20] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Get/set Prettier and ESLint cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules/.cache/prettier | |
.eslintcache | |
key: ${{ runner.os }}-prettier-eslint-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-prettier-eslint- | |
- name: Try to build the library | |
run: pnpm run build | |
- name: Lint code for static errors | |
run: pnpm run lint | |
- name: Check code formatting | |
run: pnpm run check-formatting | |
- name: Type-check the code | |
run: pnpm run typecheck | |
- name: Run unit tests | |
run: pnpm run test | |
- name: Run integration tests | |
run: pnpm run test-integration |