Skip to content

ref(samples): Restructure all sample apps with consistent directory layout#7531

Draft
philprime wants to merge 25 commits intomainfrom
philprime/sync-folders-2-restructure
Draft

ref(samples): Restructure all sample apps with consistent directory layout#7531
philprime wants to merge 25 commits intomainfrom
philprime/sync-folders-2-restructure

Conversation

@philprime
Copy link
Member

@philprime philprime commented Feb 26, 2026

Description

Restructures all sample apps to follow a consistent directory layout:

SampleName/
  App/
    Sources/       — Swift/ObjC source files
    Resources/     — assets, storyboards, xibs
    Configuration/ — Info.plist, entitlements, xcconfig
  UITests/
    Sources/
    Resources/
    Configuration/

Samples restructured: SentrySampleShared, SPM, DistributionSample, SDK-Size, SessionReplay-CameraTest, iOS-ObjectiveC, iOS-Swift, iOS-Swift6, iOS-SwiftUI, iOS-SwiftUI-SPM, iOS-SwiftUI-Widgets, iOS15-SwiftUI, macOS-Swift, macOS-SwiftUI, macOS-SwiftUI-SPM, tvOS-Swift, tvOS-SwiftUI-SPM, visionOS-Swift, visionOS-SwiftUI-SPM, watchOS-Swift, SwiftUITestSample, SwiftUICrashTest

All xcodegen .yml specs updated to use defaultSourceDirectoryType: syncedFolder and target name App.

#skip-changelog

Stack: 2/2 — Depends on #7530

This pull request should be rebase-merged

@github-actions
Copy link
Contributor

github-actions bot commented Feb 26, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


This PR will not appear in the changelog.


🤖 This preview updates automatically when you update the PR.

@philprime philprime self-assigned this Feb 26, 2026
@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.339%. Comparing base (313b966) to head (a245c22).
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##              main     #7531       +/-   ##
=============================================
+ Coverage   85.325%   85.339%   +0.013%     
=============================================
  Files          483       483               
  Lines        28785     28785               
  Branches     12506     12504        -2     
=============================================
+ Hits         24561     24565        +4     
+ Misses        4177      4174        -3     
+ Partials        47        46        -1     

see 4 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 313b966...a245c22. Read the comment docs.

@philprime philprime added the ready-to-merge Use this label to trigger all PR workflows label Feb 26, 2026
@philprime philprime force-pushed the philprime/sync-folders-2-restructure branch from dff84cc to 69c6387 Compare February 26, 2026 10:28
@philprime philprime force-pushed the philprime/sync-folders-1-build branch from 0dd09b1 to 881e7c3 Compare February 26, 2026 13:21
@philprime philprime force-pushed the philprime/sync-folders-2-restructure branch 2 times, most recently from a6496a3 to ea074fe Compare February 26, 2026 13:29
@github-actions
Copy link
Contributor

github-actions bot commented Feb 26, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1195.24 ms 1216.71 ms 21.47 ms
Size 24.14 KiB 1.12 MiB 1.10 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
98a16ef 1227.45 ms 1258.19 ms 30.74 ms
70fb69e 1230.45 ms 1257.00 ms 26.55 ms
9a34176 1227.24 ms 1266.22 ms 38.98 ms
59981b9 1207.25 ms 1240.71 ms 33.46 ms
8ef5e41 1214.14 ms 1248.52 ms 34.38 ms
26ae2f8 1221.61 ms 1250.76 ms 29.14 ms
83bf9af 1213.30 ms 1234.18 ms 20.89 ms
2d1826b 1216.96 ms 1254.05 ms 37.09 ms
b66e455 1211.30 ms 1241.39 ms 30.08 ms
70fb69e 1215.23 ms 1241.84 ms 26.61 ms

App size

Revision Plain With Sentry Diff
98a16ef 24.14 KiB 1.09 MiB 1.07 MiB
70fb69e 24.14 KiB 1.11 MiB 1.09 MiB
9a34176 24.14 KiB 1.10 MiB 1.07 MiB
59981b9 24.14 KiB 1.09 MiB 1.06 MiB
8ef5e41 24.14 KiB 1.10 MiB 1.08 MiB
26ae2f8 24.14 KiB 1.11 MiB 1.09 MiB
83bf9af 24.14 KiB 1.04 MiB 1.02 MiB
2d1826b 24.14 KiB 1.12 MiB 1.09 MiB
b66e455 24.14 KiB 1.11 MiB 1.09 MiB
70fb69e 24.14 KiB 1.11 MiB 1.09 MiB

Previous results on branch: philprime/sync-folders-2-restructure

Startup times

Revision Plain With Sentry Diff
ec37847 1231.27 ms 1261.15 ms 29.88 ms
aba3714 1217.79 ms 1253.81 ms 36.02 ms
c2c1a74 1214.02 ms 1255.27 ms 41.24 ms
bbd98f0 1217.51 ms 1245.94 ms 28.43 ms
d62b5e0 1216.12 ms 1247.94 ms 31.82 ms
bbab6ed 1214.91 ms 1239.02 ms 24.11 ms
aabc1be 1228.60 ms 1260.91 ms 32.31 ms

App size

Revision Plain With Sentry Diff
ec37847 24.14 KiB 1.12 MiB 1.09 MiB
aba3714 24.14 KiB 1.12 MiB 1.09 MiB
c2c1a74 24.14 KiB 1.11 MiB 1.09 MiB
bbd98f0 24.14 KiB 1.12 MiB 1.09 MiB
d62b5e0 24.14 KiB 1.12 MiB 1.10 MiB
bbab6ed 24.14 KiB 1.12 MiB 1.10 MiB
aabc1be 24.14 KiB 1.12 MiB 1.10 MiB

Base automatically changed from philprime/sync-folders-1-build to main February 27, 2026 10:03
@philprime philprime force-pushed the philprime/sync-folders-2-restructure branch 4 times, most recently from 275faf5 to 4dba810 Compare March 2, 2026 10:19
@philprime philprime force-pushed the philprime/sync-folders-2-restructure branch from 4dba810 to d8c727b Compare March 2, 2026 16:15
philprime and others added 4 commits March 3, 2026 11:06
Rename Configuration to Configurations for consistency with Sources
and Resources directory naming. Use type: group with explicit group
assignments for a clean Xcode project hierarchy where Sources,
Resources, and Configurations are nested under App and UITests groups.
Group SentrySDK headers under SentrySDK/Headers.

Also fix TEST_TARGET_NAME in UI test xcconfigs across all sample
projects to reference App instead of the scheme name, and add
descriptions to XcodeGen schema properties.
Resolved conflicts in:
- Sample app yml files (added buildPhase: none for configuration files)
- schema/xcodegen.schema.json (correct description for tabWidth)
- File renames (kept both LoremIpsumView.swift for different projects, kept Info.plist in Configurations)

Added swiftlint:disable for test file with long functions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@sentry
Copy link

sentry bot commented Mar 9, 2026

Sentry Build Distribution

App Version Configuration
App 9.6.0 (1) Release

Revert yml files for samples that were already merged to main:
- visionOS-SwiftUI-SPM (#7615)
- SwiftUICrashTest and SwiftUITestSample (#7612)

These samples were already restructured in separate PRs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@sentry
Copy link

sentry bot commented Mar 9, 2026

Sentry Build Distribution

App Version Configuration
App 9.6.0 (1) Release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Use this label to trigger all PR workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant