Skip to content

Xcode Cloud: auto-generate TestFlight What-to-Test notes#38

Draft
Sjoerd-Bo3 wants to merge 1 commit into
devfrom
feat/xcode-cloud-testflight-notes
Draft

Xcode Cloud: auto-generate TestFlight What-to-Test notes#38
Sjoerd-Bo3 wants to merge 1 commit into
devfrom
feat/xcode-cloud-testflight-notes

Conversation

@Sjoerd-Bo3

Copy link
Copy Markdown
Owner

Self-contained, branch-agnostic Xcode Cloud customization that auto-generates the TestFlight "What to Test" notes, so every build is identifiable without manual entry. Branched from dev so it can be merged or cherry-picked into any build branch (Build, Build-Experiment, …).

What it does

ci_scripts/ci_post_xcodebuild.sh runs after each Xcode Cloud archive and writes TestFlight/WhatToTest.en-US.txt containing:

  • Branch + build number + short SHA
  • An optional manual message (ci_scripts/whattotest_message.txt, prepended if present)
  • A tidied, cumulative list of every feature/PR the branch adds on top of its base branch (default dev), built from first-parent commit subjects (e.g. Merge nightscout/Trio PR #1203 (...)PR #1203 — ...; internal dev-sync merges filtered out)

Example output:

Branch: Build-Experiment
Build:  165 (96eb2fac)

Included in this build (vs dev):
- Allow override percentage down to 10% (add + edit)
- tdd-year-history
- meals-chart-rolling-average
- PR #1194 — Live Activity: glucose forecast
- PR #1203 — Alert/Notification refactor
- PR #1107 — Core Data fixes
...

Files

  • ci_scripts/ci_post_xcodebuild.sh — the generator (executable)
  • .gitignore — ignores the generated TestFlight/ folder
  • CLAUDE.md — documents the convention (write clear merge/PR subjects; how to add a manual message; WHATTOTEST_BASE_BRANCH to change the base)

Notes

  • Runs only on distribution builds (guards on CI_APP_STORE_SIGNED_APP_PATH); no effect on the app binary.
  • Set WHATTOTEST_BASE_BRANCH as an Xcode Cloud env var to diff against something other than dev.

🤖 Generated with Claude Code


Generated by Claude Code

ci_scripts/ci_post_xcodebuild.sh writes TestFlight/WhatToTest.en-US.txt on each
distribution build: branch, build number, an optional manual message
(ci_scripts/whattotest_message.txt), and a tidied, cumulative list of every
feature/PR the branch adds on top of its base (default dev, via
WHATTOTEST_BASE_BRANCH). Generated notes are git-ignored. CLAUDE.md documents
the convention so merge/PR subjects stay TestFlight-readable.

Self-contained and branch-agnostic so it can be merged/cherry-picked into any
build branch.
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