Loading...
Loading...
Use when preparing for a release, verifying release readiness, or running pre-release checks on the jackin project
npx skill4agent add jackin-project/jackin-dev release-check/releasemaingh run list --workflow=ci.yml --branch=main --limit=1 --json status,conclusion --jq '.[0]'conclusionsuccessLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
# Check if docker/construct/** changed since last tag
if [ -n "$LAST_TAG" ] && [ -n "$(git diff --name-only "$LAST_TAG"..HEAD -- docker/construct/)" ]; then
gh run list --workflow=construct.yml --branch=main --limit=1 --json status,conclusion --jq '.[0]'
fi
# Check if docs/** changed since last tag
if [ -n "$LAST_TAG" ] && [ -n "$(git diff --name-only "$LAST_TAG"..HEAD -- docs/)" ]; then
gh run list --workflow=docs.yml --branch=main --limit=1 --json status,conclusion --jq '.[0]'
ficargo test --lockedcargo clippy -- -D warningscargo fmt --checkLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
git log "$LAST_TAG"..HEAD --oneline --no-merges
figh pr list --state merged --search "<commit-sha>" --json number --jq '.[0].number'docs/content/docs/hrefTODO.mdtodo/SECURITY_EXCEPTIONS.mdLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
CONSTRUCT_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/construct/ 2>/dev/null)
RUNTIME_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/runtime/ 2>/dev/null)construct.ymlRelease Readiness Report
========================
✓ CI: all workflows green
✓ Local tests: N passed, 0 failed
✓ Clippy: no warnings
✓ Format: clean
⚠ Direct commits: N commits since vX.Y.Z not from PRs
- <sha> <message>
✓ Doc links: all valid
✓ TODOs: up to date
? Security exceptions: review required (N items)
✓ Docker: builds pass (or: no changes, skipped)
Result: PASS | REVIEW NEEDED | FAIL| Check | Failure behavior |
|---|---|
| CI status | BLOCK — cannot release with red CI |
| Local tests | BLOCK — cannot release with failing tests |
| Clippy | BLOCK — cannot release with clippy errors |
| Format | BLOCK — cannot release with fmt violations |
| Direct commits | WARN — show list, do not block |
| Doc links | WARN — show broken links, do not block |
| TODO freshness | WARN — show stale items, do not block |
| Security exceptions | REVIEW — ask user, block only if user says "no" |
| Docker builds | BLOCK if changed and CI failed; SKIP if unchanged |