agentsclimarketplace

Ci pipeline patterns

Skill vibeeval/vibecosystem/skills/ci-pipeline-patterns

GitHub Actions workflow templates, matrix builds, caching, and monorepo CI strategiesFrom its SKILL.md

Install
npx -y skills add vibeeval/vibecosystem --skill ci-pipeline-patterns

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.7 KB, 784 tokens by cl100k_base, as published. Nobody here has run it

CI Pipeline Patterns

GitHub Actions Workflow Template

name: CI
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  lint-and-type:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20, cache: npm }
      - run: npm ci
      - run: npm run lint
      - run: npm run type-check

  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        shard: [1, 2, 3, 4]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20, cache: npm }
      - run: npm ci
      - run: npm test -- --shard=${{ matrix.shard }}/4

  build:
    needs: [lint-and-type, test]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20, cache: npm }
      - run: npm ci
      - run: npm run build
      - uses: actions/upload-artifact@v4
        with: { name: build, path: dist/ }

Caching Strategies

# npm cache
- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('**/package-lock.json') }}

# Docker layer cache
- uses: docker/build-push-action@v5
  with:
    cache-from: type=gha
    cache-to: type=gha,mode=max

# Turborepo remote cache
- run: npx turbo build --cache-dir=.turbo

Monorepo CI (Affected Only)

# Nx affected
- run: npx nx affected --target=test --base=origin/main

# Turborepo
- run: npx turbo run test --filter=...[origin/main]

# Manual path filter
- uses: dorny/paths-filter@v3
  id: changes
  with:
    filters: |
      api: ['packages/api/**']
      web: ['packages/web/**']

Pipeline Security

# Secret scanning
- uses: trufflesecurity/trufflehog@main
  with: { extra_args: --only-verified }

# Dependency audit
- run: npm audit --audit-level=high

# SAST
- uses: github/codeql-action/analyze@v3

Checklist

  • Concurrency: cancel-in-progress aktif
  • Cache: npm/pip/go module cache
  • Paralel: test shard veya matrix
  • Security: secret scan + dependency audit
  • Artifact: build output upload
  • Branch protection: require status checks
  • Monorepo: affected-only strategy
  • Timeout: job timeout belirlenmiş

Anti-Patterns

  • Cache key'de sabit string (hash kullan)
  • Her push'ta tüm testler (affected-only)
  • Secret'ı log'a yazdırma (mask)
  • Single job tüm adımlar (paralelize et)
  • Manual deploy (CD otomatik olmalı)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.