You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.github/workflows/release.yml opens with an explicit self-description:
# Kora Protocol — Release Workflow (Stub)# This workflow is a STUB for future automation.# Intended behavior (not yet implemented): ...
The entire job does nothing but validate that a pushed tag matches vX.Y.Z and then runs echo "GitHub Actions workflow stub..." (lines 79-80). Every actual step — installing the Rust
toolchain and wasm32 target, installing stellar-cli, running make clean && make build-optimized,
recording WASM hashes, and creating the GitHub release with those hashes attached — is present
only as a commented-out TODO block (lines 53-77). Yet issue #254, "Implement semantic
versioning and release tagging tied to contract WASM hashes," is marked CLOSED in the
project's issue tracker, and #255 "Build a deployed-contract-address manifest generated by
deploy.sh" is also closed. The actual release.yml file contradicts the implication that this
automation exists.
Requirements and Context
This is a genuine, verifiable gap between what the issue tracker records as done and what's
actually shipped in .github/workflows/. Given record-wasm-hashes.sh and deploy.sh's
manifest generation already exist and do real work, this workflow mostly needs to be wired up
to call them — the TODO block in the file already sketches the exact plan.
Replace the stub's placeholder step with the steps already sketched in the file's own TODO
comment: install Rust + wasm32 target + stellar-cli, run make clean && make build-optimized,
invoke scripts/record-wasm-hashes.sh (fixing issue Optimize Invoice NFT Contracts #8's price_oracle omission as part of
this work, since the release process should cover all 7 contracts).
Add a step that creates a GitHub Release (e.g. via softprops/action-gh-release@v1) attaching
the recorded hashes file and a changelog excerpt sourced from CHANGELOG.md for the tagged
version.
Cross-check the tag-format validation against docs/RELEASE.md's documented manual process
(referenced in the stub's header) to ensure the automated workflow doesn't diverge from the
documented process, and update docs/RELEASE.md to point at the new automated workflow
instead of (or alongside) the manual steps.
Test by pushing a v0.0.0-test-style tag on a fork/branch (or via workflow_dispatch if
added for testing) and confirming a real GitHub Release with attached hashes is produced.
Acceptance Criteria
Pushing a vX.Y.Z tag triggers a workflow that actually builds all 7 contracts, records their WASM hashes, and creates a GitHub Release with those hashes attached
The workflow covers all 7 contracts, including price_oracle
docs/RELEASE.md is updated to describe the now-automated process
The workflow has been demonstrated to succeed end-to-end against a real tag push
Guidelines: PR description must include Closes #<issue-number>. Complexity: High (200 points)
Description
.github/workflows/release.ymlopens with an explicit self-description:The entire job does nothing but validate that a pushed tag matches
vX.Y.Zand then runsecho "GitHub Actions workflow stub..."(lines 79-80). Every actual step — installing the Rusttoolchain and wasm32 target, installing
stellar-cli, runningmake clean && make build-optimized,recording WASM hashes, and creating the GitHub release with those hashes attached — is present
only as a commented-out
TODOblock (lines 53-77). Yet issue #254, "Implement semanticversioning and release tagging tied to contract WASM hashes," is marked CLOSED in the
project's issue tracker, and #255 "Build a deployed-contract-address manifest generated by
deploy.sh" is also closed. The actual
release.ymlfile contradicts the implication that thisautomation exists.
Requirements and Context
This is a genuine, verifiable gap between what the issue tracker records as done and what's
actually shipped in
.github/workflows/. Givenrecord-wasm-hashes.shanddeploy.sh'smanifest generation already exist and do real work, this workflow mostly needs to be wired up
to call them — the TODO block in the file already sketches the exact plan.
Suggested Execution
git checkout -b feature/implement-release-workflowcomment: install Rust + wasm32 target +
stellar-cli, runmake clean && make build-optimized,invoke
scripts/record-wasm-hashes.sh(fixing issue Optimize Invoice NFT Contracts #8'sprice_oracleomission as part ofthis work, since the release process should cover all 7 contracts).
softprops/action-gh-release@v1) attachingthe recorded hashes file and a changelog excerpt sourced from
CHANGELOG.mdfor the taggedversion.
docs/RELEASE.md's documented manual process(referenced in the stub's header) to ensure the automated workflow doesn't diverge from the
documented process, and update
docs/RELEASE.mdto point at the new automated workflowinstead of (or alongside) the manual steps.
v0.0.0-test-style tag on a fork/branch (or viaworkflow_dispatchifadded for testing) and confirming a real GitHub Release with attached hashes is produced.
Acceptance Criteria
vX.Y.Ztag triggers a workflow that actually builds all 7 contracts, records their WASM hashes, and creates a GitHub Release with those hashes attachedprice_oracledocs/RELEASE.mdis updated to describe the now-automated processGuidelines: PR description must include
Closes #<issue-number>.Complexity: High (200 points)