Agent skill

deployment-workflow

Deploy to HuggingFace Spaces, create releases, check deployment status, verify before release, push to production. Use when deploying, releasing, or checking deployment logs.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/deployment-workflow

SKILL.md

Deployment Workflow

Complete guide for deploying CCBell Sound Generator to HuggingFace Spaces.

Deployment Pipeline

git tag v1.0.0 → GitHub Actions → Build + Test → HuggingFace Spaces

Pre-Deployment Checklist

Before creating a release, ALL checks must pass:

1. Backend Quality

bash
cd backend && source .venv/bin/activate
ruff check .
ruff format --check .
ty check .

2. Frontend Quality

bash
cd frontend
npm run lint
npx tsc --noEmit
npm run build

3. Docker Build Test

bash
docker build -t ccbell-sound-generator .

4. Docker Run Test

bash
docker run -d -p 7860:7860 --name ccbell-test ccbell-sound-generator
sleep 10
curl http://localhost:7860/api/health
docker stop ccbell-test && docker rm ccbell-test

Creating a Release

1. Ensure Clean Git State

bash
git status
git pull origin master

2. Create Version Tag

bash
# Create annotated tag
git tag -a v1.0.0 -m "Release version 1.0.0"

# Push to trigger deployment
git push origin v1.0.0

3. Monitor Deployment

Checking Deployment Logs

Use the provided script:

bash
./scripts/check-hf-space-logs.sh

Requires secrets.env with HF_TOKEN set:

bash
cp secrets.env.example secrets.env
# Edit and add your HuggingFace token

CI/CD Workflows

CI Pipeline (on push/PR)

  • Lint frontend (ESLint + TypeScript)
  • Lint backend (ruff)
  • Type check backend (ty)
  • Build frontend (Vite)
  • Build Docker image

Deploy Pipeline (on version tag)

  • Validate semver version
  • Build application
  • Update version in config
  • Test Docker build
  • Deploy to HuggingFace Spaces

Required Secrets (GitHub)

Secret Description
HF_TOKEN HuggingFace API token with write access
HF_USERNAME HuggingFace username/organization

Troubleshooting

Common Issues

  1. Model download fails: Check HF_TOKEN for gated model access
  2. Out of memory: Use small model, check for memory leaks
  3. Container exits immediately: Check docker logs <container_id>
  4. Health check fails: Verify port 7860 is exposed

Rollback

If deployment fails, the previous version remains active. To redeploy:

bash
git tag -d v1.0.0  # Delete local tag
git push origin :refs/tags/v1.0.0  # Delete remote tag
# Fix issues, then recreate tag

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results