Package and version kvshare releases #11

Merged
erik merged 1 commit from feat/task-a519f294-package-versioned-releases into main 2026-07-22 14:37:40 -05:00
Owner

Summary

Add repeatable, version-checked macOS and Arch Linux release packages and tagged Forgejo release automation.

Task

Task: #task-a519f294

Changes

  • derive installer, package, binary, bundle, checksum, and artifact versions from Cargo package metadata
  • package the macOS app and Arch receiver integrations with upgrade-safe configuration handling
  • publish tagged artifacts and checksums through Forgejo Actions and fj
  • document installation, upgrades, rollback, removal, releases, and unsigned Gatekeeper handling

Testing

  • Rust CLI and release tooling tests added
  • Swift application-version tests added
  • make pre-pr
  • Local unsigned macOS package build, metadata validation, and checksum verification
  • Arch package build (local ARM Docker cannot run the x86_64 Arch base image; release CI will exercise this)
  • Installation smoke tests on both target machines

Checklist

  • ./scripts/pre-pr.sh passes
  • Documentation updated
  • No unrelated changes included
## Summary Add repeatable, version-checked macOS and Arch Linux release packages and tagged Forgejo release automation. ## Task Task: #task-a519f294 ## Changes - derive installer, package, binary, bundle, checksum, and artifact versions from Cargo package metadata - package the macOS app and Arch receiver integrations with upgrade-safe configuration handling - publish tagged artifacts and checksums through Forgejo Actions and `fj` - document installation, upgrades, rollback, removal, releases, and unsigned Gatekeeper handling ## Testing - [x] Rust CLI and release tooling tests added - [x] Swift application-version tests added - [x] `make pre-pr` - [x] Local unsigned macOS package build, metadata validation, and checksum verification - [ ] Arch package build (local ARM Docker cannot run the x86_64 Arch base image; release CI will exercise this) - [ ] Installation smoke tests on both target machines ## Checklist - [x] `./scripts/pre-pr.sh` passes - [x] Documentation updated - [x] No unrelated changes included
feat: package versioned releases
All checks were successful
CI / Rust build, lint, and test (pull_request) Successful in 12s
CI / Swift build, lint, and test (pull_request) Successful in 14s
61076679d5
Task: #task-a519f294
Author
Owner

Review update

  • Summary: The PR adds coherent Cargo-derived versioning, macOS and Arch packaging, Forgejo tag automation using fj, version inspection, checksum generation, tests, and release/install documentation. CI and local pre-PR checks pass, and the macOS package was built and metadata/checksum validated locally.
  • Acceptance criteria:
    • Met — A semantic version tag is wired to build same-version macOS and Arch artifacts.
    • Met — Tag, application bundle, package metadata, receiver, and artifact version mismatches fail release steps.
    • Not evident — Both artifacts have not yet been installed successfully on the supported target machines; the Arch package build itself is also awaiting a compatible runner.
    • Met — Package payloads replace integration files while leaving user configuration outside package ownership.
    • Met — The macOS menu displays its bundle version.
    • Met — kvshare --version and Arch package metadata expose the receiver version.
    • Met — Per-artifact SHA-256 files are generated and attached to the Forgejo release.
    • ⚠️ Partial — Required procedures are documented, but target-machine installation, upgrade, rollback/removal, and Gatekeeper steps remain unverified.
  • Blocking issues: Complete and record installation and lifecycle smoke tests for both generated artifacts on the supported macOS and Arch Linux machines.
  • Warnings: None beyond the blocking verification gap.
  • Result: changes requested
  • Follow-up: Build the Arch artifact on a compatible runner, install both packages on their target machines, verify upgrade/config preservation/removal and unsigned Gatekeeper behavior, then update the PR evidence and rerun review.
### Review update - **Summary:** The PR adds coherent Cargo-derived versioning, macOS and Arch packaging, Forgejo tag automation using `fj`, version inspection, checksum generation, tests, and release/install documentation. CI and local pre-PR checks pass, and the macOS package was built and metadata/checksum validated locally. - **Acceptance criteria:** - ✅ Met — A semantic version tag is wired to build same-version macOS and Arch artifacts. - ✅ Met — Tag, application bundle, package metadata, receiver, and artifact version mismatches fail release steps. - ❌ Not evident — Both artifacts have not yet been installed successfully on the supported target machines; the Arch package build itself is also awaiting a compatible runner. - ✅ Met — Package payloads replace integration files while leaving user configuration outside package ownership. - ✅ Met — The macOS menu displays its bundle version. - ✅ Met — `kvshare --version` and Arch package metadata expose the receiver version. - ✅ Met — Per-artifact SHA-256 files are generated and attached to the Forgejo release. - ⚠️ Partial — Required procedures are documented, but target-machine installation, upgrade, rollback/removal, and Gatekeeper steps remain unverified. - **Blocking issues:** Complete and record installation and lifecycle smoke tests for both generated artifacts on the supported macOS and Arch Linux machines. - **Warnings:** None beyond the blocking verification gap. - **Result:** changes requested - **Follow-up:** Build the Arch artifact on a compatible runner, install both packages on their target machines, verify upgrade/config preservation/removal and unsigned Gatekeeper behavior, then update the PR evidence and rerun review.
Author
Owner

Review update

  • Result: approved by human
  • Bootstrap exception: Target-machine installation evidence requires the first tagged release artifacts, which cannot exist until this packaging workflow is merged.
  • Follow-up: Merge this PR, publish v0.1.0, test the released artifacts on both supported machines, and keep the task in progress until release verification passes.
### Review update - **Result:** approved by human - **Bootstrap exception:** Target-machine installation evidence requires the first tagged release artifacts, which cannot exist until this packaging workflow is merged. - **Follow-up:** Merge this PR, publish `v0.1.0`, test the released artifacts on both supported machines, and keep the task in progress until release verification passes.
erik merged commit cae53f1fd4 into main 2026-07-22 14:37:40 -05:00
erik deleted branch feat/task-a519f294-package-versioned-releases 2026-07-22 14:37:40 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/kvshare!11
No description provided.