Loading...
Loading...
CI/CD Pipelines defines production-grade continuous integration and deployment workflows using GitHub Actions with wrangler deploy, link validation, HTML validation, and automated quality gates.
npx skill4agent add itallstartedwithaidea/agent-skills ci-cd-pipelinesgraph TD
A[Push to Branch] --> B[GitHub Actions Trigger]
B --> C[Install Dependencies]
C --> D[Run Unit Tests]
D --> E[Run Type Checking]
E --> F{Branch?}
F -->|PR| G[Deploy to Preview]
F -->|main| H[Deploy to Staging]
G --> I[Run Link Checker on Preview]
H --> J[Run Full Validation Suite]
J --> K[HTML Validation]
J --> L[Link Checking]
J --> M[JSON-LD Validation]
J --> N[Lighthouse Audit]
K --> O{All Green?}
L --> O
M --> O
N --> O
O -->|Yes| P[Promote to Production]
O -->|No| Q[Block + Notify]
I --> R[Comment PR with Preview URL]name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- run: npm ci
- run: npx tsc --noEmit
- run: npm test
deploy-staging:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- run: npm ci
- run: npx wrangler deploy --env staging
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
validate:
needs: deploy-staging
runs-on: ubuntu-latest
strategy:
matrix:
check: [html, links, jsonld, lighthouse]
steps:
- uses: actions/checkout@v4
- name: HTML Validation
if: matrix.check == 'html'
run: |
npx html-validate "https://staging.googleadsagent.ai" \
--config .htmlvalidate.json
- name: Link Checking
if: matrix.check == 'links'
run: |
npx linkinator https://staging.googleadsagent.ai \
--recurse --timeout 30000 \
--skip "^https://(?!staging\.googleadsagent\.ai)"
- name: JSON-LD Validation
if: matrix.check == 'jsonld'
run: node scripts/validate-jsonld.js --base-url=https://staging.googleadsagent.ai
- name: Lighthouse Audit
if: matrix.check == 'lighthouse'
run: |
npx lhci autorun --config=lighthouserc.json \
--collect.url=https://staging.googleadsagent.ai
deploy-production:
needs: validate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- run: npm ci
- run: npx wrangler deploy --env production
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}wrangler rollbacknode_modules| Platform | Support | Notes |
|---|---|---|
| Cursor | Full | GitHub Actions authoring |
| VS Code | Full | GitHub Actions extension |
| Windsurf | Full | CI/CD workflow support |
| Claude Code | Full | YAML generation + validation |
| Cline | Full | Pipeline configuration |
| aider | Full | YAML file editing |
ci-cdgithub-actionswrangler-deployhtml-validationlink-checkinglighthouseprogressive-deploymentquality-gates