UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

123 lines (86 loc) 4.13 kB
--- name: dev-release-coordinate description: Orchestrate tag build promote verify release sequence trigger: when the operator requests release coordination, version promotion, or deployment pipeline execution --- # Release Coordination ## Purpose Orchestrate the full release sequence: pre-release validation, tag creation, build pipeline trigger, staging deployment and smoke test, production promotion gate, production deployment with health verification, and release announcement. Each gate is a hard stop the operator confirms before the sequence advances to the next irreversible step. ## Workflow ### 1. Pre-Release Validation Confirm the repository is ready to release: - Run the full test suite: `npm test` (or project-equivalent) - Run the UAT suite if present: `npm run uat` - Verify CHANGELOG has an entry for the target version - Confirm `package.json` version matches the intended release tag - Check CI status on the release commit all checks must be green - Confirm no open blocking issues labeled `release-blocker` Report any failures. Do not proceed until all pre-release checks pass. ### 2. Tag Creation Once pre-release validation passes: ```bash git tag -m "v{version}" v{version} git push origin main --tags ``` Verify the tag appears in the remote tag list. Record the commit SHA and tag name for the audit trail. ### 3. Build Pipeline Trigger After the tag is pushed, the CI pipeline should trigger automatically on tag push events. Monitor pipeline status: - Poll the CI API for the pipeline triggered by the tag push - Wait for pipeline completion before proceeding - Record the pipeline run ID and outcome - Capture the image digest from the artifact manifest: `{artifact-manifest-path}` If the pipeline fails, surface the failure log and pause. Do not attempt promotion from a failed build. ### 4. Staging Deployment and Smoke Test Pull the release image to staging and run the smoke test suite: ```bash # Pull and deploy to staging docker pull {registry}/{project}:v{version} docker stop {project}-staging || true docker run -d --name {project}-staging \ --env-file /etc/opt/{project}/staging.env \ -p {staging-port}:8080 \ {registry}/{project}:v{version} # Run smoke tests {smoke-test-command} --target https://{staging-host}:{staging-port} ``` Report smoke test results. Do not proceed to production if smoke tests fail. ### 5. Production Promotion Gate **Hard stop human authorization required.** Present the operator with a summary: - Tag: `v{version}` - Commit: `{git-sha}` - Image digest: `sha256:{digest}` - Staging smoke test: PASSED - Pipeline run: {pipeline-run-url} Ask the operator to confirm production promotion before continuing. ### 6. Production Deploy and Health Verification After operator confirmation, execute the deployment: ```bash ssh {production-host} " docker pull {registry}/{project}:v{version} docker stop {project} || true docker rm {project} || true docker run -d --name {project} \ --restart unless-stopped \ --env-file /etc/opt/{project}/production.env \ -p {production-port}:8080 \ {registry}/{project}:v{version} " ``` Verify production health: ```bash curl -sf https://{production-host}/health curl -sf https://{production-host}/version ``` Both must return HTTP 200. If the health endpoint does not return 200 within 5 minutes, escalate to the operator immediately and do not proceed to the announcement step. Rollback using the previous version per the `release-runbook.md`. ### 7. Release Announcement Once production health is confirmed: - Create a Gitea release via the API with the tag name and CHANGELOG entry - Post release notification to the configured channel (if a messaging integration is configured) - Close any issues labeled for this release milestone - Record the completed release in the audit trail ## Output Artifacts - Gitea release entry for `v{version}` - Artifact manifest with image digest: `{artifact-manifest-path}` - Release audit entry (operator confirmation timestamp, pipeline run ID, deployed digest) - Pipeline run URL for the tag build