| name: CI |
|
|
| |
| |
| |
| |
|
|
| on: |
| pull_request: |
| branches: [main] |
|
|
| concurrency: |
| group: ${{ github.workflow }}-${{ github.ref }} |
| cancel-in-progress: true |
|
|
| jobs: |
| lint: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: astral-sh/setup-uv@v7 |
| with: |
| enable-cache: true |
| - run: uv sync --dev --locked |
| - run: uv run ruff check . |
| - run: uv run ruff format --check . |
| - uses: pnpm/action-setup@v4 |
| with: |
| version: 10.6.3 |
| - uses: actions/setup-node@v4 |
| with: |
| node-version: '22' |
| cache: 'pnpm' |
| - run: pnpm install --frozen-lockfile |
| - run: pnpm lint |
|
|
| python-test: |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| python-version: ['3.10', '3.14'] |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: pnpm/action-setup@v4 |
| with: |
| version: 10.6.3 |
| - uses: actions/setup-node@v4 |
| with: |
| node-version: '22' |
| cache: 'pnpm' |
| - run: pnpm install --frozen-lockfile |
| - run: pnpm build |
| - uses: astral-sh/setup-uv@v7 |
| with: |
| enable-cache: true |
| python-version: ${{ matrix.python-version }} |
| - run: uv sync --dev --locked |
| - run: uv run pytest |
|
|
| js-test: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: pnpm/action-setup@v4 |
| with: |
| version: 10.6.3 |
| - uses: actions/setup-node@v4 |
| with: |
| node-version: '22' |
| cache: 'pnpm' |
| - run: pnpm install --frozen-lockfile |
| - run: pnpm test:ci |
|
|
| build: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: pnpm/action-setup@v4 |
| with: |
| version: 10.6.3 |
| - uses: actions/setup-node@v4 |
| with: |
| node-version: '22' |
| cache: 'pnpm' |
| - run: pnpm install --frozen-lockfile |
| - run: pnpm build |
|
|