一键导入
ci-cd-pipelines
// Experto en CI/CD con GitHub Actions. Automatización de tests, releases y deployments.
// Experto en CI/CD con GitHub Actions. Automatización de tests, releases y deployments.
Experto en diseño de APIs REST y GraphQL. OpenAPI spec, versionado, autenticación y mejores prácticas.
Experto en programación asíncrona y concurrencia Python. asyncio, threading y multiprocessing.
Audita el código en busca de vulnerabilidades de seguridad, revelación de secretos, dependencias inseguras y patrones de código peligroso. Genera un informe detallado.
Mejores prácticas para crear aplicaciones Python robustas, mantenibles y profesionales. Estructura, patrones, configuración, manejo de errores y más.
Experto en desarrollo de herramientas CLI con Python. Typer, Click y argparse.
Expert in Cosmos (Base100) programming language. Use this skill to write, debug, and explain Cosmos code by consulting the knowledge base.
| name | ci-cd-pipelines |
| description | Experto en CI/CD con GitHub Actions. Automatización de tests, releases y deployments. |
Skill para configurar pipelines de integración y despliegue continuo.
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Lint with ruff
run: ruff check .
- name: Type check with mypy
run: mypy src/
- name: Test with pytest
run: pytest --cov=src --cov-report=xml
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
file: coverage.xml
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t myapp:${{ github.sha }} .
# .github/workflows/release.yml
name: Release
on:
push:
tags:
- "v*"
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
# .github/workflows/deploy.yml
name: Deploy
on:
workflow_run:
workflows: ["CI"]
branches: [main]
types: [completed]
jobs:
deploy:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to production
run: echo "Deploy commands here"
env:
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}