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).

# 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:

  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

# CI pipeline (automatic on push/PR)
git push origin main

Viewing Results

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