# 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 tools - **`Dockerfile.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). ```bash # 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: ```bash # 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**: 1. Lint (Rust, Bash, Nickel, Nushell, Markdown) - Parallel 2. Test (all features) 3. Build (release) 4. Security audit 5. License compliance check **Duration**: ~15-20 minutes (without custom image), ~10-15 minutes (with custom image) ## Triggering Pipelines ```bash # 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