Add Woodpecker CI pipeline with semantic versioning
Pipeline stages: - restore: Restore NuGet dependencies - build: Build in Release mode - test: Run test suite - version: Determine version from git tags - package-nuget: Create NuGet package (main branch) - package-docker: Build multi-arch Docker image (tags only) - release: Create GitHub release with artifacts (tags only) Versioning: - Tags (v1.0.0) → version 1.0.0 - Main branch → version X.Y.Z-dev.main.abc1234 - PRs → version X.Y.Z-dev.branch.abc1234 Docker image published to ghcr.io/barryw/paperlessmcp 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -139,6 +139,25 @@ dotnet build # Build
|
||||
dotnet test # Run tests
|
||||
```
|
||||
|
||||
### CI/CD
|
||||
|
||||
This project uses [Woodpecker CI](https://woodpecker-ci.org/) for continuous integration:
|
||||
|
||||
| Event | Actions |
|
||||
|-------|---------|
|
||||
| **Push/PR** | Build → Test |
|
||||
| **Push to main** | Build → Test → Package NuGet |
|
||||
| **Tag (vX.Y.Z)** | Build → Test → Package → Docker → GitHub Release |
|
||||
|
||||
**Versioning:** Semantic versioning via git tags. Create a release with:
|
||||
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
**Docker Images:** `ghcr.io/barryw/paperlessmcp:latest`
|
||||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user