cicd-automation

CI/CD Automation Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cicd-automation" with this command: npx skills add autumnsgrove/groveengine/autumnsgrove-groveengine-cicd-automation

CI/CD Automation Skill

When to Activate

Activate this skill when:

  • Creating GitHub Actions workflows

  • Setting up automated testing

  • Configuring deployment pipelines

  • Adding code quality checks to CI

  • Automating release processes

Quick Start Workflow

Create .github/workflows/ci.yml :

name: CI

on: push: branches: [main, develop] pull_request: branches: [main]

jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4

  - name: Install UV
    run: curl -LsSf https://astral.sh/uv/install.sh | sh

  - name: Add UV to PATH
    run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH

  - name: Install dependencies
    run: uv sync

  - name: Run tests
    run: uv run pytest tests/ -v --cov=src

  - name: Lint with Ruff
    run: uv run ruff check src/ tests/

  - name: Check formatting
    run: uv run black --check src/ tests/

Workflow Structure

.github/ └── workflows/ ├── ci.yml # Tests and linting ├── release.yml # Package publishing └── deploy.yml # Deployment

Common Triggers

Every push and PR

on: [push, pull_request]

Specific branches

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

Manual trigger

on: workflow_dispatch

Scheduled (cron)

on: schedule: - cron: '0 0 * * *' # Daily at midnight

Testing with Coverage

  • name: Run tests with coverage run: | uv run pytest tests/
    --cov=src
    --cov-report=xml
    --cov-report=term-missing
    --junitxml=junit.xml

  • name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: ./coverage.xml fail_ci_if_error: true

Multi-Environment Testing

jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ['3.10', '3.11', '3.12']

steps:
  - uses: actions/checkout@v4

  - uses: actions/setup-python@v5
    with:
      python-version: ${{ matrix.python-version }}

  - name: Install UV
    run: curl -LsSf https://astral.sh/uv/install.sh | sh

  - name: Run tests
    run: uv run pytest tests/

Caching Dependencies

  • name: Cache UV dependencies uses: actions/cache@v3 with: path: | ~/.cache/uv .venv key: ${{ runner.os }}-uv-${{ hashFiles('**/pyproject.toml') }} restore-keys: | ${{ runner.os }}-uv-

  • name: Install dependencies run: uv sync

Secrets in Workflows

  • name: Deploy env: API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} DATABASE_URL: ${{ secrets.DATABASE_URL }} run: uv run python deploy.py

Setting up secrets:

  • Repository Settings → Secrets and variables → Actions

  • Click "New repository secret"

  • Add name and value

Publishing to PyPI

name: Publish

on: release: types: [published]

jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4

  - name: Install UV
    run: curl -LsSf https://astral.sh/uv/install.sh | sh

  - name: Build package
    run: uv build

  - name: Publish to PyPI
    env:
      UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
    run: uv publish --token $UV_PUBLISH_TOKEN

Docker Image Build

  • name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . push: true tags: user/app:latest,user/app:${{ github.sha }}

Status Badges

Add to README:

CI codecov

Best Practices

DO ✅

  • Run tests on every push

  • Cache dependencies for speed

  • Use matrix for cross-platform testing

  • Separate CI from CD workflows

  • Use secrets for sensitive data

DON'T ❌

  • Skip linting in CI

  • Ignore test failures

  • Store secrets in code

  • Run unnecessary jobs

When to Use CI/CD

Start with:

  • Running tests on every push

  • Code quality checks (lint, format)

  • Security scanning

Add later:

  • Deployment automation

  • Docker builds

  • Documentation generation

Related Resources

See AgentUsage/ci_cd_patterns.md for complete documentation including:

  • Complex workflow examples

  • Environment-specific configs

  • Advanced caching strategies

  • Deployment patterns

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

git-workflows

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

docker-workflows

No summary provided by upstream source.

Repository SourceNeeds Review
General

cloudflare-deployment

No summary provided by upstream source.

Repository SourceNeeds Review
General

rich-terminal-output

No summary provided by upstream source.

Repository SourceNeeds Review