6 Commits

Author SHA1 Message Date
Barry Walker 7aa8fddea8 ci: add cocogitto for conventional commits and automated releases
- Add cog.toml with commit type configs and version bump hooks
- Add .woodpecker.yml pipeline for automated version bumping on main
- Add Version element to csproj for cog to update
- Document cog workflow in CLAUDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:11:36 -05:00
Barry Walker 0f2a6937c4 fix: use separate pipeline files instead of multi-document YAML
YAML anchors don't work across document boundaries in multi-document
files. Using separate files in .woodpecker/ directory instead, which
is the recommended approach and matches WeightTracker's pattern.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:31:54 -05:00
Barry Walker dccb3729aa fix: use Kaniko for Docker builds instead of docker-buildx
The docker-buildx plugin requires privileged mode which isn't enabled
by default. Kaniko builds containers without requiring privileged mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:29:25 -05:00
Barry Walker 2c1ed449da feat: add trunk-based CI/CD with automatic versioning
- Implement conventional commits for semantic versioning
- PRs: build, test, Docker verify
- Merges to main: full release pipeline
  - Automatic version bump based on commit types
  - NuGet packaging
  - Multi-arch Docker build and push to GHCR
  - Git tag creation
  - GitHub release

Add CONTRIBUTING.md with:
- Trunk-based development workflow
- Conventional commits guide
- Local development instructions
2026-01-13 14:18:31 -05:00
Barry Walker 088bf244f4 Add automatic Docker builds on main branch
- docker-dev: Builds and pushes :dev tag on every main push
- docker-release: Builds :latest and :vX.Y.Z on tags
- docker-verify: Dry-run build on PRs

Updated README with Docker tag documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:16:25 -05:00
Barry Walker e82c0cdb94 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>
2026-01-13 14:15:56 -05:00