Skip to content

ci(macos): fix dSYM/Sentry paths when Dioxus output dir differs#157

Merged
mattdjenkinson merged 5 commits into
mainfrom
ci/macos-dsym-resolve-app-path
May 14, 2026
Merged

ci(macos): fix dSYM/Sentry paths when Dioxus output dir differs#157
mattdjenkinson merged 5 commits into
mainfrom
ci/macos-dsym-resolve-app-path

Conversation

@mattdjenkinson
Copy link
Copy Markdown
Contributor

Summary

Tag builds failed at Generate dSYM (macOS) because the workflow assumed a fixed path (target/dx/Datum/release/macos/Datum.app and executable Datum). Newer Dioxus layouts may use a different segment under target/dx.

Changes

  • dSYM step: Prefer ui/dist/Datum.app (after DMG prep), fall back to find under target/dx/*/release/macos/*.app, and resolve the binary via CFBundleExecutable in Info.plist.
  • Sentry upload: Use the same Contents/MacOS directory (dist first, then fallback).
  • DMG copy (bundle.yml, manual-release.yml, build-dmg.sh): If the legacy Datum path is missing, copy the first matching .app from release/macos.

Testing

CI: push a tag or run the bundle workflow on this branch as appropriate.

Made with Cursor

Dioxus may emit release/macos/*.app under target/dx with a non-Datum
segment. Prefer ui/dist/Datum.app after DMG prep, fall back to find,
and read CFBundleExecutable for dsymutil. Align Sentry upload with the
same layout. Harden DMG copy in workflows and build-dmg.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
mattdjenkinson and others added 2 commits May 14, 2026 17:08
… matrix)

- Download prebuilt `dx` binary from Dioxus releases instead of building
  dioxus-cli from source. Saves ~5–10 min per matrix leg.
- Pin Swatinem/rust-cache to a stable shared-key per OS so the in-place
  version bump + `cargo generate-lockfile` no longer evict the dep cache
  every run. Skip saving the cache on PRs to avoid pollution.
- Limit PR matrix in bundle.yml to ubuntu-latest as a smoke check; full
  three-OS matrix still runs on main, tag pushes, and manual dispatch.
- Add a `paths` filter so PRs that don't touch Cargo/UI/lib/cli skip the
  bundle entirely.
- In ci.yml run cargo test/clippy/fmt only on Linux; cargo check still
  runs on all three OSes to catch platform-specific compile errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
windows-latest currently aliases to the windows-2025 image, which ships
Visual Studio 2026 preview (VS18 / MSVC 14.50). cmake-rs (used by
aws-lc-sys, pulled in transitively via rustls -> aws-lc-rs) can't
resolve a generator for VS18, and MSVC 14.50's vcruntime_c11_stdatomic.h
demands /std:c11 which the aws-lc-sys build script doesn't pass. The
result is a deterministic failure at `dx bundle` on windows-latest.

Pin all three workflows to windows-2022 (VS17) until the toolchain
catches up.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mattdjenkinson mattdjenkinson merged commit 46aaeba into main May 14, 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.

2 participants