1.9 KiB
1.9 KiB
Woodpecker CI Configuration
Pipelines for Gitea/Forgejo + Woodpecker CI.
Files
ci.yml- Main CI pipeline (push, pull requests)Dockerfile- Custom CI image with pre-installed toolsDockerfile.cross- Cross-compilation image for multi-platform builds
Setup
1. Activate Woodpecker CI
Enable Woodpecker CI in your Gitea/Forgejo repository settings.
2. (Optional) Build Custom Image
Speeds up CI by pre-installing tools (~5 min faster per run).
# Build CI image
docker build -t your-registry/ci:latest -f .woodpecker/Dockerfile .
# Push to your registry
docker push your-registry/ci:latest
# Update .woodpecker/ci.yml
# Change: image: rust:latest
# To: image: your-registry/ci:latest
3. Cross-Compilation Setup
For multi-platform builds:
# Build cross-compilation image
docker build -t your-registry/ci-cross:latest -f .woodpecker/Dockerfile.cross .
# Push to registry
docker push your-registry/ci-cross:latest
CI Pipeline (ci.yml)
Triggers: Push to main/develop, Pull Requests
Jobs:
- Lint (Rust, Bash, Nickel, Nushell, Markdown) - Parallel
- Test (all features)
- Build (release)
- Security audit
- License compliance check
Duration: ~15-20 minutes (without custom image), ~10-15 minutes (with custom image)
Triggering Pipelines
# CI pipeline (automatic on push/PR)
git push origin main
Viewing Results
- Gitea/Forgejo: Repository → Actions → Pipeline runs
- Woodpecker UI: https://your-woodpecker.instance/repos/{user}/{repo}
Differences from GitHub Actions
| Feature | GitHub Actions | Woodpecker CI |
|---|---|---|
| Matrix builds | ✅ 3 OS | ❌ Linux only* |
| Caching | ✅ Built-in | ⚠️ Server-side** |
* Multi-OS builds require multiple Woodpecker agents ** Configure in Woodpecker server settings