cd-pipeline-generator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cd-pipeline-generator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate production-ready GitHub Actions deployment workflows that automate deployments to staging and production environments with environment protection rules, approval gates, and secrets management.
Determine the cloud platform and deployment method:
Use the appropriate template from assets/ based on cloud platform:
deploy-aws.yml - AWS deployments (ECS, Elastic Beanstalk, Lambda)deploy-gcp.yml - GCP deployments (Cloud Run, App Engine)deploy-azure.yml - Azure deployments (App Service, Container Instances)Set up GitHub environment protection rules for staging and production:
Staging environment:
Production environment:
Add required secrets to GitHub repository settings (Settings → Secrets and variables → Actions):
AWS:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONGCP:
GCP_PROJECT_IDGCP_SERVICE_ACCOUNT_KEYAzure:
AZURE_CREDENTIALSAZURE_SUBSCRIPTION_IDAdapt the template to project-specific deployment needs:
Build artifacts: Add build steps before deployment
- name: Build application
run: npm run build # or: python -m build, go build, cargo buildDocker images: Build and push container images
- name: Build Docker image
run: docker build -t $IMAGE_NAME:$TAG .
- name: Push to registry
run: docker push $IMAGE_NAME:$TAGDatabase migrations: Run migrations before deployment
- name: Run migrations
run: npm run migrate # or: alembic upgrade head, rails db:migrateHealth checks: Verify deployment success
- name: Health check
run: curl -f https://$DEPLOYMENT_URL/health || exit 1Configure when deployments run:
Staging: Auto-deploy on push to main
on:
push:
branches: [main]Production: Manual trigger or tag-based
on:
workflow_dispatch:
push:
tags:
- 'v*'Create deployment workflow at .github/workflows/deploy.yml. If multiple deployment workflows are needed (e.g., separate staging and production), use descriptive names:
.github/workflows/deploy-staging.yml.github/workflows/deploy-production.ymlAll templates include:
Add deployment notification:
- name: Notify deployment
if: always()
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: 'Deployment to ${{ github.event.inputs.environment }} ${{ job.status }}'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}Add rollback capability:
- name: Rollback on failure
if: failure()
run: |
echo "Deployment failed, rolling back..."
# Platform-specific rollback commandsRestrict production deployment time:
- name: Check deployment window
run: |
HOUR=$(date +%H)
if [ $HOUR -lt 9 ] || [ $HOUR -gt 17 ]; then
echo "Deployments only allowed 9 AM - 5 PM"
exit 1
ficonfig.staging.json, config.production.json)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.