Skip to content

Assert the fragile seams: patches, pins, dSYMs and binding drift - #1

Merged
sbokatuk merged 2 commits into
mainfrom
ergonomics-and-usability
Jul 24, 2026
Merged

sbokatuk merged 2 commits into
mainfrom
ergonomics-and-usability

Conversation

@sbokatuk

Copy link
Copy Markdown
Owner
  • BuildXcFrameworks.sh: every pbxproj patch now asserts it either changed something or found the already-patched state, and fails naming the patch that missed - so an upstream project-file reformat breaks the patch step with a clear message instead of the archive step with a cryptic one. DatadogOtelVersion is verified against the cloned tag's Cartfile.resolved, closing the second manually-synced pin.
  • Keep the dSYMs: built into libs/dsyms, cached with the frameworks, uploaded as a CI artifact and attached to every GitHub release - the only symbolication data these Catalyst binaries will ever have, previously discarded with the temp directory.
  • Enforce the verbatim-copy invariant: SyncBindingsFromiOS.sh records the DatadogNet.iOS commit it copied from (build/ios-bindings-source.txt), and CI's binding-drift job re-runs the sync against exactly that commit and fails on any difference. shims/ stays outside the sync deliberately; the script's header says what must happen if the iOS Flags shim ever ships.
  • Sync the binding sources from DatadogNet.iOS@07ce7ed (DDLogger nullability rationale, entry-type doc summaries) and enable the trim/AOT analyzers, matching the iOS repository.
  • Pack docs/release-notes into PackageReleaseNotes; fail CI when README versions drift from Directory.Build.props.
  • Fix the stale iOS-specific comments in the copied tooling (merge-packages.py, select-xcode, BuildNugets.sh), each now marked as a keep-in-sync copy.
  • Document the net8 sunset: dropped in the first release after .NET 8 leaves support on 10 November 2026, in step with DatadogNet.iOS.

sbokatuk and others added 2 commits July 24, 2026 11:19
- BuildXcFrameworks.sh: every pbxproj patch now asserts it either changed
  something or found the already-patched state, and fails naming the patch
  that missed - so an upstream project-file reformat breaks the patch step
  with a clear message instead of the archive step with a cryptic one.
  DatadogOtelVersion is verified against the cloned tag's Cartfile.resolved,
  closing the second manually-synced pin.
- Keep the dSYMs: built into libs/dsyms, cached with the frameworks,
  uploaded as a CI artifact and attached to every GitHub release - the only
  symbolication data these Catalyst binaries will ever have, previously
  discarded with the temp directory.
- Enforce the verbatim-copy invariant: SyncBindingsFromiOS.sh records the
  DatadogNet.iOS commit it copied from (build/ios-bindings-source.txt), and
  CI's binding-drift job re-runs the sync against exactly that commit and
  fails on any difference. shims/ stays outside the sync deliberately; the
  script's header says what must happen if the iOS Flags shim ever ships.
- Sync the binding sources from DatadogNet.iOS@07ce7ed (DDLogger
  nullability rationale, entry-type doc summaries) and enable the trim/AOT
  analyzers, matching the iOS repository.
- Pack docs/release-notes into PackageReleaseNotes; fail CI when README
  versions drift from Directory.Build.props.
- Fix the stale iOS-specific comments in the copied tooling
  (merge-packages.py, select-xcode, BuildNugets.sh), each now marked as a
  keep-in-sync copy.
- Document the net8 sunset: dropped in the first release after .NET 8
  leaves support on 10 November 2026, in step with DatadogNet.iOS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Version bump, README pins to match (now CI-enforced), the curated release
notes - the first surfaced on nuget.org through PackageReleaseNotes - and
the binding-drift pin advanced to the committed DatadogNet.iOS HEAD.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sbokatuk
sbokatuk merged commit ddfde2b into main Jul 24, 2026
5 checks passed
@sbokatuk
sbokatuk deleted the ergonomics-and-usability branch July 24, 2026 08:59

This branch was previously deployed

1 inactive deployment
nuget.org — 35359bdf Deployed Jul 24, 2026 by sbokatuk via publish beta to nuget.org #2
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