Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions .agentplane/tasks/202605011626-4TQ11R/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
id: "202605011626-4TQ11R"
title: "Generate release install assets and manifest"
status: "DOING"
priority: "high"
owner: "CODER"
revision: 5
origin:
system: "manual"
depends_on:
- "202605011625-D4P2MF"
tags:
- "code"
- "release"
verify:
- "bun run release:check"
- "bun run release:distribution:check"
plan_approval:
state: "approved"
updated_at: "2026-05-01T16:28:27.558Z"
updated_by: "ORCHESTRATOR"
note: null
verification:
state: "ok"
updated_at: "2026-05-01T16:56:43.396Z"
updated_by: "CODER"
note: "Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially."
commit: null
comments:
-
author: "CODER"
body: "Start: implement deterministic release distribution assets and manifest generation now that the distribution contract task is closed on main."
events:
-
type: "status"
at: "2026-05-01T16:48:36.083Z"
author: "CODER"
from: "TODO"
to: "DOING"
note: "Start: implement deterministic release distribution assets and manifest generation now that the distribution contract task is closed on main."
-
type: "verify"
at: "2026-05-01T16:56:43.396Z"
author: "CODER"
state: "ok"
note: "Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially."
doc_version: 3
doc_updated_at: "2026-05-01T16:56:43.403Z"
doc_updated_by: "CODER"
description: "Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest."
sections:
Summary: |-
Generate release install assets and manifest

Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.
Scope: |-
- In scope: Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.
- Out of scope: unrelated refactors not required for "Generate release install assets and manifest".
Plan: "Plan: add deterministic release distribution generation scripts that produce install.sh, install.ps1, SHA256SUMS, and release-distribution.json from a version/tag/sha source. Add package scripts for generation/check mode and tests/smoke coverage that fail on drift. Verification: release:distribution:check and release:check."
Verify Steps: |-
1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run release:check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.
Verification: |-
<!-- BEGIN VERIFICATION RESULTS -->
### 2026-05-01T16:56:43.396Z — VERIFY — ok

By: CODER

Note: Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially.

VerifyStepsRef: doc_version=3, doc_updated_at=2026-05-01T16:48:36.083Z, excerpt_hash=sha256:b47e8f79d017dd09e1507ae6d640f0204f15ca116d3ab487616ceff2a8c73dce

<!-- END VERIFICATION RESULTS -->
Rollback Plan: |-
- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.
Findings: |-
- Observation: Added scripts/generate-release-distribution.mjs plus package scripts and publish workflow wiring so GitHub Release assets now include install.sh, install.ps1, SHA256SUMS, release-distribution.json, and the upgrade bundle.
Impact: The next hosted publish can produce versioned installer assets and a machine-readable distribution manifest instead of only npm packages and an upgrade tarball.
Resolution: Commit the distribution generator, workflow asset upload list, workflow contract test update, and generated scripts README.
id_source: "generated"
---
## Summary

Generate release install assets and manifest

Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.

## Scope

- In scope: Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.
- Out of scope: unrelated refactors not required for "Generate release install assets and manifest".

## Plan

Plan: add deterministic release distribution generation scripts that produce install.sh, install.ps1, SHA256SUMS, and release-distribution.json from a version/tag/sha source. Add package scripts for generation/check mode and tests/smoke coverage that fail on drift. Verification: release:distribution:check and release:check.

## Verify Steps

1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run release:check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.

## Verification

<!-- BEGIN VERIFICATION RESULTS -->
### 2026-05-01T16:56:43.396Z — VERIFY — ok

By: CODER

Note: Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially.

VerifyStepsRef: doc_version=3, doc_updated_at=2026-05-01T16:48:36.083Z, excerpt_hash=sha256:b47e8f79d017dd09e1507ae6d640f0204f15ca116d3ab487616ceff2a8c73dce

<!-- END VERIFICATION RESULTS -->

## Rollback Plan

- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.

## Findings

- Observation: Added scripts/generate-release-distribution.mjs plus package scripts and publish workflow wiring so GitHub Release assets now include install.sh, install.ps1, SHA256SUMS, release-distribution.json, and the upgrade bundle.
Impact: The next hosted publish can produce versioned installer assets and a machine-readable distribution manifest instead of only npm packages and an upgrade tarball.
Resolution: Commit the distribution generator, workflow asset upload list, workflow contract test update, and generated scripts README.
6 changes: 6 additions & 0 deletions .agentplane/tasks/202605011626-4TQ11R/pr/diffstat.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.github/workflows/publish.yml | 18 +-
package.json | 2 +
.../release/publish-workflow-contract.test.ts | 6 +
scripts/README.md | 26 +-
scripts/generate-release-distribution.mjs | 394 +++++++++++++++++++++
5 files changed, 429 insertions(+), 17 deletions(-)
38 changes: 38 additions & 0 deletions .agentplane/tasks/202605011626-4TQ11R/pr/github-body.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Summary

Generate release install assets and manifest

Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.

## Scope

- In scope: Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.
- Out of scope: unrelated refactors not required for "Generate release install assets and manifest".

## Verification

- State: ok
- Note: Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially.
- Full verification checklist lives in local review.md.

## Handoff Notes

- No handoff notes recorded yet. Use `agentplane pr note ...` to append one.

<details>
<summary>Raw evidence</summary>

- Updated: 2026-05-01T16:56:59.303Z
- Branch: task/202605011626-4TQ11R/release-distribution-assets
- Head: 915dfc266716

```text
.github/workflows/publish.yml | 18 +-
package.json | 2 +
.../release/publish-workflow-contract.test.ts | 6 +
scripts/README.md | 26 +-
scripts/generate-release-distribution.mjs | 394 +++++++++++++++++++++
5 files changed, 429 insertions(+), 17 deletions(-)
```

</details>
1 change: 1 addition & 0 deletions .agentplane/tasks/202605011626-4TQ11R/pr/github-title.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
release: Generate release install assets and manifest (4TQ11R)
14 changes: 14 additions & 0 deletions .agentplane/tasks/202605011626-4TQ11R/pr/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"base": "main",
"branch": "task/202605011626-4TQ11R/release-distribution-assets",
"created_at": "2026-05-01T16:48:36.674Z",
"head_sha": "915dfc2667162f63154054a18051619de52d7ff6",
"last_verified_at": "2026-05-01T16:56:43.396Z",
"last_verified_sha": "6ddf24956581e014f09cfe3671f9828da37fd8b9",
"schema_version": 1,
"task_id": "202605011626-4TQ11R",
"updated_at": "2026-05-01T16:56:59.303Z",
"verify": {
"status": "pass"
}
}
Empty file.
63 changes: 63 additions & 0 deletions .agentplane/tasks/202605011626-4TQ11R/pr/review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# PR Review

Created: 2026-05-01T16:48:36.674Z
Branch: task/202605011626-4TQ11R/release-distribution-assets

## Summary

Generate release install assets and manifest

Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.

## Scope

- In scope: Add deterministic release distribution asset generation for install.sh, install.ps1, SHA256SUMS, and a machine-readable release distribution manifest.
- Out of scope: unrelated refactors not required for "Generate release install assets and manifest".

## Verification

### Plan

1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run release:check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.

### Current Status

- State: ok
- Note: Release distribution assets verified: release:distribution:check passed; release:check passed; workflows:command-check passed; docs:scripts:check passed after regenerating scripts/README.md; publish workflow contract test passed; lint:core passed sequentially.

## Risks

- Risk level: not recorded
- Breaking change: no

### Rollback

- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.

## Handoff Notes

- No handoff notes recorded yet. Use `agentplane pr note ...` to append one.

<!-- BEGIN AUTO SUMMARY -->
<details>
<summary>Raw evidence</summary>

- Updated: 2026-05-01T16:56:59.303Z
- Branch: task/202605011626-4TQ11R/release-distribution-assets
- Head: 915dfc266716

```text
.github/workflows/publish.yml | 18 +-
package.json | 2 +
.../release/publish-workflow-contract.test.ts | 6 +
scripts/README.md | 26 +-
scripts/generate-release-distribution.mjs | 394 +++++++++++++++++++++
5 files changed, 429 insertions(+), 17 deletions(-)
```

</details>
<!-- END AUTO SUMMARY -->
Empty file.
18 changes: 13 additions & 5 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -268,12 +268,16 @@ jobs:
else
echo "tag_exists=false" >> "$GITHUB_OUTPUT"
fi
- name: Build upgrade bundle assets
- name: Generate release distribution assets
shell: bash
run: |
set -euo pipefail
tar -czf agentplane-upgrade.tar.gz -C packages/agentplane/assets .
sha256sum agentplane-upgrade.tar.gz > agentplane-upgrade.tar.gz.sha256
node scripts/generate-release-distribution.mjs \
--out .agentplane/.release/publish/distribution \
--version "${{ needs.detect.outputs.version }}" \
--tag "${{ needs.detect.outputs.tag }}" \
--sha "${{ needs.detect.outputs.sha }}" \
--repo "${{ github.repository }}"
- name: Write npm auth config
shell: bash
run: |
Expand Down Expand Up @@ -330,8 +334,12 @@ jobs:
tag_name: ${{ needs.detect.outputs.tag }}
body_path: docs/releases/${{ needs.detect.outputs.tag }}.md
files: |
agentplane-upgrade.tar.gz
agentplane-upgrade.tar.gz.sha256
.agentplane/.release/publish/distribution/agentplane-upgrade.tar.gz
.agentplane/.release/publish/distribution/agentplane-upgrade.tar.gz.sha256
.agentplane/.release/publish/distribution/install.sh
.agentplane/.release/publish/distribution/install.ps1
.agentplane/.release/publish/distribution/SHA256SUMS
.agentplane/.release/publish/distribution/release-distribution.json
- name: Write publish-result manifest
if: always()
shell: bash
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@
"release:recover": "node scripts/check-release-recovery-state.mjs",
"release:e2e:local": "node scripts/run-local-release-e2e.mjs",
"release:smoke:published": "node scripts/check-published-packages.mjs",
"release:distribution:generate": "node scripts/generate-release-distribution.mjs",
"release:distribution:check": "node scripts/generate-release-distribution.mjs --check",
"ci:release-extras": "bun run artifacts:check && bun run task-state:check && bun run build && bun run package:tarball:check && bun run package:install-smoke && bun run docs:cli:check && bun run docs:recipes:check && GIT_AUTHOR_NAME=agentplane-ci GIT_AUTHOR_EMAIL=agentplane-ci@example.com GIT_COMMITTER_NAME=agentplane-ci@example.com GIT_COMMITTER_EMAIL=agentplane-ci@example.com node scripts/run-vitest-suite.mjs release-ci-base && bun run coverage:workflow-suite && bun run coverage:significant-suite && GIT_AUTHOR_NAME=agentplane-ci GIT_AUTHOR_EMAIL=agentplane-ci@example.com GIT_COMMITTER_NAME=agentplane-ci@example.com GIT_COMMITTER_EMAIL=agentplane-ci@example.com bun run test:release:critical",
"release:ci-check": "bun run ci:contract && bun run ci:release-extras",
"release:prepublish:fast": "bun run release:check",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ describe("publish workflow contract", () => {
expect(workflow).toContain("node scripts/manifest.mjs publish-result");
expect(workflow).toContain("name: publish-result");
expect(workflow).toContain("path: .agentplane/.release/publish/publish-result.json");
expect(workflow).toContain("Generate release distribution assets");
expect(workflow).toContain("node scripts/generate-release-distribution.mjs");
expect(workflow).toContain(".agentplane/.release/publish/distribution/release-distribution.json");
expect(workflow).toContain(".agentplane/.release/publish/distribution/install.sh");
expect(workflow).toContain(".agentplane/.release/publish/distribution/install.ps1");
expect(workflow).toContain(".agentplane/.release/publish/distribution/SHA256SUMS");
expect(workflow).toContain("if: always()");
expect(workflow).toContain("pull-requests: write");
expect(workflow).toContain("Prepare release task evidence");
Expand Down
Loading