Switch all jobs to run inside git.byting-pandas.ninja/ci/node22-docker, which bundles Node 22, Docker CLI, and docker-compose. Removes the actions/setup-node step since Node is already provided by the image.
80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
pull_request:
|
|
branches: [dev, main]
|
|
|
|
jobs:
|
|
lint-and-format:
|
|
runs-on: ubuntu-docker-dind
|
|
container:
|
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- run: corepack enable
|
|
- run: corepack prepare pnpm@11.11.0 --activate
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- name: Lint
|
|
run: pnpm lint
|
|
|
|
- name: Check formatting
|
|
run: pnpm format:check
|
|
|
|
changeset-check:
|
|
runs-on: ubuntu-docker-dind
|
|
container:
|
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- run: corepack enable
|
|
- run: corepack prepare pnpm@11.11.0 --activate
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- name: Verify changeset exists
|
|
continue-on-error: true
|
|
run: pnpm changeset status --since=origin/dev
|
|
|
|
unit-tests:
|
|
runs-on: ubuntu-docker-dind
|
|
container:
|
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- run: corepack enable
|
|
- run: corepack prepare pnpm@11.11.0 --activate
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- name: Run unit tests
|
|
run: pnpm test:unit
|
|
|
|
component-tests:
|
|
runs-on: ubuntu-docker-dind
|
|
container:
|
|
image: git.byting-pandas.ninja/ci/node22-docker:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- run: corepack enable
|
|
- run: corepack prepare pnpm@11.11.0 --activate
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- name: Verify Docker availability
|
|
run: |
|
|
docker --version
|
|
docker compose version
|
|
|
|
- name: Run component tests (Docker)
|
|
run: pnpm test:component |