diff --git a/.claude/guides/ops/releasing.md b/.claude/guides/ops/releasing.md index dc68c72..ce1a772 100644 --- a/.claude/guides/ops/releasing.md +++ b/.claude/guides/ops/releasing.md @@ -41,15 +41,10 @@ The script (`scripts/release.sh`) performs these steps in order: 1. **Creates changelog** - Writes `changelog/.md` with date and message 2. **Updates deployment** - Patches `deployments/k8s/base/rdev-api.yaml` with new image tag 3. **Commits and pushes** - Commits changelog and deployment changes to main -4. **Builds binary** - Cross-compiles for linux/amd64 with version embedded -5. **Builds container** - Creates `ghcr.io/orchard9/rdev-api:` image -6. **Pushes image** - Uploads to GitHub Container Registry -7. **Tags release** - Creates annotated git tag and pushes it +4. **Triggers Woodpecker** - Push to Gitea triggers CI build automatically -With `--deploy` flag, it also: -8. **Runs migrations** - Executes all SQL migrations as `rdev` superuser -9. **Applies manifest** - `kubectl apply` the deployment YAML -10. **Restarts deployment** - Triggers rollout with new image +> **Note:** The release.sh script is a legacy tool. For normal releases, just push to main +> and let Woodpecker CI handle the build and deploy automatically. ## Usage @@ -107,19 +102,22 @@ Tags: `latest` and `${CI_COMMIT_SHA:0:8}` (8-char commit hash) ## Troubleshooting -### Docker push fails +### Woodpecker build fails -Ensure you're authenticated to ghcr.io: +Check pipeline status via API: ```bash -echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin +WOODPECKER_TOKEN=$(kubectl get secret rdev-credentials -n rdev -o jsonpath='{.data.WOODPECKER_API_TOKEN}' | base64 -d) +curl -H "Authorization: Bearer $WOODPECKER_TOKEN" "https://ci.threesix.ai/api/repos/jordan/rdev/pipelines" ``` -### Build fails +Or view at: https://ci.threesix.ai/jordan/rdev -Check Go environment: +### Zot registry 503 errors + +Check Zot pod status: ```bash -go version -go env GOOS GOARCH +kubectl get pods -n threesix -l app=zot +kubectl logs -n threesix zot-0 --tail=50 ``` ### Git push rejected