Release process: semver tags and changelog for WASM#69
Open
okekefrancis112 wants to merge 12 commits intoStreampay-Org:mainfrom
Open
Release process: semver tags and changelog for WASM#69okekefrancis112 wants to merge 12 commits intoStreampay-Org:mainfrom
okekefrancis112 wants to merge 12 commits intoStreampay-Org:mainfrom
Conversation
Spec for issue Streampay-Org#59 covering semver tagging, git-cliff changelog, deterministic WASM builds via Docker, and CI release workflow.
- Fix CLI command: soroban → stellar contract build - Reorder CI steps: tests before build/release creation - Handle first-release edge case for git-cliff - Document cross-platform WASM reproducibility (linux/amd64) - Add ci.yml and Cargo.toml to modified files list - Add testutils dependency check to pre-release checklist
8-task plan covering: Cargo.toml fix, toolchain pinning, git-cliff config, Dockerfile for deterministic WASM, release workflow, RELEASE.md, README updates, and final verification.
Prevents test scaffolding from being compiled into the release WASM.
Adds rust-toolchain.toml as single source of truth for compiler version. Updates ci.yml to use pinned version instead of floating stable. Adds wasm32-unknown-unknown target for WASM builds.
Maps conventional commit prefixes to changelog sections. Skips release and chore commits.
Multi-stage Docker build with pinned Rust 1.93.0, stellar-cli, and wasm-opt. Produces optimized .wasm and .checksum for verification. Canonical builds target linux/amd64.
Triggered on v* tag push. Validates tag/Cargo.toml match, runs tests, builds deterministic WASM via Docker, generates changelog with git-cliff, and creates GitHub Release with artifacts.
Covers pre-release checklist, semver rules, step-by-step release instructions, WASM verification, and troubleshooting.
Updates README with release info and project structure. Generates initial CHANGELOG.md with git-cliff for v0.1.0.
# Conflicts: # .gitignore
|
@okekefrancis112 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v*tag push with changelog generation via git-cliffDetails
docker/Dockerfile.build— multi-stage deterministic WASM builder.github/workflows/release.yml— validates tag/Cargo.toml match, runs tests, builds WASM, generates changelog, creates GitHub Release with artifactscliff.toml— git-cliff config for conventional commit parsingrust-toolchain.toml— pins Rust version and WASM targetdocs/RELEASE.md— canonical release guide with semver bump rules and troubleshootingCloses #59