When the build.yml is already up to date with the requested server
version, the workflow now properly skips the push step instead of
failing when trying to push a non-existent tag.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates all imports and go.mod to use the new /v3 suffixed module path
for proper Go semantic versioning compliance.
Also updates CI workflows to use version tags (v3.x.x) instead of
pseudo-versions now that the server module has the proper /v3 suffix.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Since code.gitcaddy.com/server now uses proper module paths, we can
reference server versions directly by tag (e.g., v3.0.11) instead of
Go pseudo-version format.
This simplifies the build process and ensures consistent version matching.
Match nautilus-dropbox pattern:
- runs-on: macos (not macos-latest)
- Install build deps via apt-get first
- Use curl with full Go version URL (1.25.6)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Go download URL requires the full version (e.g., go1.25.6),
not just the major.minor (go1.25). Query the go.dev API to get
the latest 1.25.x version.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The golang image doesn't have Node.js which the checkout action requires.
Use node:20-bookworm (same as nautilus-dropbox) and install Go manually.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use the container: directive at job level instead of docker run.
This is the same pattern used in nautilus-dropbox and is cleaner.
Split into separate build-linux-amd64 and build-linux-arm64 jobs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Go plugins with CGO cannot be cross-compiled - the assembler
doesn't understand ARM64 instructions on AMD64 hosts. Use Docker
on macOS ARM64 runners to build ARM64 Linux plugins natively.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Gitea supports workflow_dispatch but not repository_dispatch API.
Changed to use /actions/workflows/{id}/dispatches endpoint.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add server-release.yml workflow that listens for repository_dispatch
- Auto-bumps vault version and rebuilds when server is tagged
- Add COMPATIBILITY.md documenting version requirements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Server plugin interface uses `any` for route registration methods.
Cast to chi.Router inside the method implementation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update GITCADDY_SERVER_VERSION to build against gitcaddy-server v3.0.6
which includes Solo tier adjustments with limited versioning and CI/CD tokens.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The vault plugin must be built against gitcaddy-server (our fork),
not the official code.gitea.io/gitea. Updated the workflow to replace
the local development path with the remote gitcaddy-server repo URL.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds CI/CD workflow that:
- Runs golangci-lint for code quality
- Runs tests
- Builds Go plugin (.so) for Linux amd64/arm64
- Builds keygen utility for all platforms
- Uploads artifacts to releases on tag push
Note: macOS plugin builds are disabled until runners are
configured for native execution (Go plugins cannot be
cross-compiled).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>