variables: - &node_image 'node:22-alpine' - &install_deps | corepack enable pnpm install --frozen-lockfile when: - event: [push, pull_request, manual] steps: install: image: *node_image commands: - *install_deps typecheck: image: *node_image commands: - *install_deps - pnpm typecheck depends_on: - install lint: image: *node_image commands: - *install_deps - pnpm lint depends_on: - install format: image: *node_image commands: - *install_deps - pnpm format:check depends_on: - install test: image: *node_image commands: - *install_deps - pnpm test depends_on: - install build: image: *node_image commands: - *install_deps - pnpm build depends_on: - typecheck - lint - format - test