The manifest already exists from previous builds, so --amend is needed
to update it with new architecture images.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Buildx with provenance creates manifest lists even for single-platform
builds. This breaks `docker manifest create` which expects plain images.
Adding provenance: false ensures plain images are pushed, allowing
the manifest creation step to work correctly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- arm64 build pushes :main-arm64
- amd64 build pushes :main-amd64
- New create-manifest job combines into :main (auto-selects arch)
- Manifest job can run on any self-hosted runner
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Dockerfile: Download server from wylab CDN at build time, build watchdog
- start.sh: Simplified to copy defaults and run watchdog
- appsettings.yml: Configure for wylab instance with CDN manifest
- main.yml: Simplified workflow with auto-tagging via metadata-action
- Delete update_build_metadata.py (no longer needed)
Based on: https://github.com/LiamAEdwards/SS14-Docker-Linux-Server🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Switch from type=gha to type=registry for Docker build caching.
Registry cache works with Gitea runners and stores cache layers
as special tags in the container registry.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove cache-from and cache-to settings using type=gha, which are
incompatible with Gitea runners. The build completes successfully
but fails when trying to export to the non-existent GHA cache service.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Restore runs-on to [self-hosted, linux-amd64] which now maps to Docker
mode after updating the runner configuration. This fixes actions/checkout
compatibility while maintaining amd64 tagging.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Change build-amd64 from host mode to ubuntu-latest Docker runner to
fix actions/checkout compatibility. The checkout action requires a
proper containerized environment that host mode doesn't provide.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Downgrade actions/checkout from v4 to v3 to resolve MODULE_NOT_FOUND
errors in gitea-runner's act environment. The v4 action has known
compatibility issues with act's caching mechanism.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>