Skip to content

ci: add puniversald release workflow#221

Merged
mohammeds1992 merged 6 commits intomainfrom
feat/release-universal-workflow
May 6, 2026
Merged

ci: add puniversald release workflow#221
mohammeds1992 merged 6 commits intomainfrom
feat/release-universal-workflow

Conversation

@mohammeds1992
Copy link
Copy Markdown
Contributor

Summary

  • Adds .github/workflows/release-universal.yml mirroring release.yml for the puniversald binary
  • Triggers on puniversald/v* tags (independent of chain releases on v*) and supports workflow_dispatch
  • Builds linux/amd64 + linux/arm64 (muslc static) and darwin/arm64 (signed + notarized, libwasmvm.dylib bundled)
  • Verified puniversald transitively links libwasmvm via app.NewChainApp (cmd/puniversald/root.go:23) — wasmvm download/bundling is required and kept

Test plan

  • After merge, dispatch the workflow manually with version: v0.0.1-rc1 and prerelease: true
  • Confirm Linux amd64 + arm64 jobs produce push-universal_*_linux_*.tar.gz with statically linked binaries
  • Confirm macOS job produces signed/notarized push-universal_*_darwin_arm64.tar.gz
  • Verify the GitHub Release is created at tag puniversald/v0.0.1-rc1
  • Sanity-check downloaded binary: puniversald version reports the expected version + commit
  • Delete the test tag/release once verified

🤖 Generated with Claude Code

Mirrors release.yml for the puniversald binary. Triggers on tags
matching puniversald/v* (independent from chain releases on v*) and
supports manual dispatch. Builds linux/amd64, linux/arm64, and
darwin/arm64 with Apple signing + notarization.
puniversald links libgodkls (via universalClient/tss/dkls) but the
workspace-root cargo build skips the go-dkls crate. Mirror the Linux
build by entering wrapper/go-dkls and adding the hd-migration path
patch so the local garbling tree is used (no GitHub auth in cargo).
cd-ing into wrapper/go-dkls picks up a .cargo/config.toml that
injects `-Wl,-soname=...` (Linux-only ld flag) into every link
command — including build-script compiles — failing on macOS.
Use `cargo build -p go-dkls --release` from dkls23-rs root so the
wrapper config stays out of scope.
Drop the branch, commit_id, and compare_from inputs from both
pchaind and puniversald release workflows. The dispatch form now
shows just the version tag and pre-release toggle alongside the
built-in 'Use workflow from' branch dropdown.

Removed the resolve-ref steps (checkout uses github.ref by default)
and dropped commit_id plumbing from the tag-creation step (tags
HEAD of the dispatched branch). Changelog still auto-detects the
prior tag.
Companion to the previous dispatch-UI simplification. Removed the
COMMIT_REF plumbing but missed the git tag -a line that still
referenced the now-undefined variable, breaking workflow_dispatch.
@mohammeds1992 mohammeds1992 force-pushed the feat/release-universal-workflow branch from d303d12 to a70d32a Compare May 6, 2026 06:33
Each pchaind release now publishes a ready-to-paste JSON payload
matching the format expected by `--upgrade-info` on a software-upgrade
governance proposal. URLs are constructed from the actual release tag
and the existing .sha256 companion files (single source of truth for
checksums), covering linux/amd64, linux/arm64, and darwin/arm64.
@mohammeds1992 mohammeds1992 merged commit b7c986d into main May 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant