version: "1" name: "container-ci" run_on: push: branches: - main - "release/*" tags: - "v*" pull_request: branches: - main - "feature/*" jobs: test: stage: verify runtime: type: container image: "node:20-bookworm" runner_labels: - linux - container steps: - name: "Checkout" task: "source.checkout" - name: "Test" command: "pnpm test" build: stage: package depends_on: - test runtime: type: container image: "node:20-bookworm" steps: - name: "Checkout" task: "source.checkout" - name: "Build" command: "pnpm build" - name: "Upload dist" task: "artifact.upload" params: name: "dist" paths: - "dist/**" image: stage: package depends_on: - build runtime: type: container image: "docker:27-cli" runner_labels: - linux - docker steps: - name: "Checkout" task: "source.checkout" - name: "Download dist" task: "artifact.download" params: name: "dist" path: "dist" - name: "Build image" task: "container.build" params: dockerfile: "Dockerfile" context: "." tags: - "registry.example.com/app:${commit.sha}"