set up a release build pipeline for new tags #79

Closed
opened 2026-08-12 14:40:36 +00:00 by hugo · 1 comment
Owner

set up an action that triggers when a new tag is proposed that runs a release build for the following components

  • os targets are: darwin-arm64, linux-arm64, linux-x64, windows-x64 - for each component one target for each plattform
  • the cli utility for all those above plattforms, this should include the tui utility
  • the desktop application

all packages are automatically attached to the new release that is built and the release gets a description based on the issues that were closed and went into this release, but condensed to a digestible form with links to the original issues.

The iOS app is handled differently, that is a manual process due to the apple review that is needed for notarization.

set up an action that triggers when a new tag is proposed that runs a release build for the following components - os targets are: darwin-arm64, linux-arm64, linux-x64, windows-x64 - for each component one target for each plattform - the cli utility for all those above plattforms, this should include the tui utility - the desktop application all packages are automatically attached to the new release that is built and the release gets a description based on the issues that were closed and went into this release, but condensed to a digestible form with links to the original issues. The iOS app is handled differently, that is a manual process due to the apple review that is needed for notarization.
hugo added this to the 04 - iPhone and Apple Watch apps milestone 2026-08-12 14:40:36 +00:00
hugo added the enhancementcritical labels 2026-08-12 14:40:36 +00:00
Author
Owner

Implemented and pushed in 189ae7721e.

  • Added a tag-triggered Gitea release workflow that runs entirely on the linux-arm64 runner.
  • Cross-builds darwin-arm64, linux-arm64, and linux-x64 with cargo-zigbuild, then windows-x64 with cargo-xwin.
  • Attaches separate CLI plus TUI and desktop plus CLI plus TUI archives for every platform.
  • Generates linked, grouped release notes from closed issues referenced by commits and publishes only after every build succeeds.
  • Keeps iOS outside the automated release pipeline.
  • Fixed the Linux desktop portal feature/import path exposed by the real release build.

Verification:

  • cargo fmt --all -- --check
  • RUSTFLAGS="-D warnings" cargo check --workspace --all-targets
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • Gitea Actions run 411 succeeded: https://git.rfc1437.de/hugo/IronStorage/actions/runs/6
  • Inspected all eight attached archives: expected binaries were present and identified as ARM64 Mach-O, ARM64/x64 ELF, and x64 PE for their named platforms.

The temporary validation release and tag were removed after verification.

Implemented and pushed in 189ae7721ed0192a14e991148b95fd85e8e15364. - Added a tag-triggered Gitea release workflow that runs entirely on the linux-arm64 runner. - Cross-builds darwin-arm64, linux-arm64, and linux-x64 with cargo-zigbuild, then windows-x64 with cargo-xwin. - Attaches separate CLI plus TUI and desktop plus CLI plus TUI archives for every platform. - Generates linked, grouped release notes from closed issues referenced by commits and publishes only after every build succeeds. - Keeps iOS outside the automated release pipeline. - Fixed the Linux desktop portal feature/import path exposed by the real release build. Verification: - cargo fmt --all -- --check - RUSTFLAGS="-D warnings" cargo check --workspace --all-targets - cargo clippy --workspace --all-targets -- -D warnings - cargo test --workspace - Gitea Actions run 411 succeeded: https://git.rfc1437.de/hugo/IronStorage/actions/runs/6 - Inspected all eight attached archives: expected binaries were present and identified as ARM64 Mach-O, ARM64/x64 ELF, and x64 PE for their named platforms. The temporary validation release and tag were removed after verification.
hugo closed this issue 2026-08-13 04:33:05 +00:00
Sign in to join this conversation.