Skip to content

.github/workflows/release.yml is still a do-nothing stub despite closed issue #254 claiming release tagging tied to WASM hashes was implemented #522

Description

@OxDev-max

Description

.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.

Suggested Execution

  1. git checkout -b feature/implement-release-workflow
  2. 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).
  3. 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.
  4. 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.
  5. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions