Skip to content

release.yml: wire DMG + Inno Setup installers; per-coin/off-tag rebuild inputs - #671

Merged
frstrtr merged 3 commits into
masterfrom
ci-steward/release-installers
Jul 11, 2026
Merged

release.yml: wire DMG + Inno Setup installers; per-coin/off-tag rebuild inputs#671
frstrtr merged 3 commits into
masterfrom
ci-steward/release-installers

Conversation

@frstrtr

@frstrtr frstrtr commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Wires the macOS DMG and Windows Inno Setup installers into the tag-triggered release matrix and makes asset names track the c2pool-/version layout.

What lands:

  • macOS: lipo-merge the x86_64 + arm64 c2pool- builds (binary + dylibs) into one universal2 tree, then create-dmg.sh --staged --name c2pool- --version --arch universal -> c2pool---macos-universal.dmg (e.g. c2pool-ltc-0.2.0-macos-universal.dmg).
  • Windows: ISCC c2pool-setup.iss with /DMyAppName=c2pool- /DMyAppVersion= /DMyAppExeName=c2pool-.exe /DOutputBase=...-setup -> c2pool---windows-x86_64-setup.exe.
  • VERSION is no longer hardcoded: DMG version comes from --version and the .iss defines are all #ifndef-wrapped, both fed from steps.ver (tag GITHUB_REF_NAME minus v, or the new workflow_dispatch version input).
  • Adds workflow_dispatch version + coins inputs so a single coin can be rebuilt off an arbitrary commit (e.g. ltc off 1aa0bf2) without cutting a tag.

Resolves the 4 package-spec deltas flagged by ltc-doge-production-steward (VERSION bump/override, c2pool-ltc-* prefix, macOS universal via lipo, Windows exe name). All three commits GPG-signed. Gated on operator push-approval.

frstrtr added 3 commits July 11, 2026 15:04
…age jobs

The release matrix produced only .tar.gz/.zip archives; the installer/
DMG and Inno Setup scripts were present but un-invoked, so v0.2.0 shipped
without the .dmg / setup.exe the alphas had. Wire both per-coin:

- macos-universal job: build <coin>-<version>-macos-universal.dmg from the
  already-lipo-merged universal package via installer/macos/create-dmg.sh
  (new --staged mode: wrap a prepared tree, no re-copy/dylib rewrite).
- windows job: build <coin>-<version>-windows-x86_64-setup.exe via ISCC
  over the staged package dir; vc_redist located at build time.
- Parameterize create-dmg.sh (--name/--version/--arch) and c2pool-setup.iss
  (#ifndef guards on name/version/exe/output) for the c2pool-<coin> layout;
  alpha positional/default behaviour preserved.
…r rebuilds

Dispatching from a branch resolved version to 0.0.0-<sha>, so package
names would not match a released tag. The optional version input lets a
scoped rebuild off the released commit emit the exact tag naming
(e.g. c2pool-ltc-0.2.0-macos-universal.dmg) without re-cutting the tag.
…ne coin

Lets a scoped installer rebuild target a single coin (e.g. ltc) instead
of the full five-coin matrix, avoiding needless hosted macOS/Windows
runner minutes. Blank input keeps the full matrix on tag pushes.
@frstrtr
frstrtr merged commit 3a0c50d into master Jul 11, 2026
31 of 32 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