Skip to content

Tuist example: bump SafeDI to 2.0.0-rc-2 + move CI to Xcode 26.0#293

Merged
dfed merged 1 commit intomainfrom
dfed--tuist-on-xcode-26
May 4, 2026
Merged

Tuist example: bump SafeDI to 2.0.0-rc-2 + move CI to Xcode 26.0#293
dfed merged 1 commit intomainfrom
dfed--tuist-on-xcode-26

Conversation

@dfed
Copy link
Copy Markdown
Owner

@dfed dfed commented May 4, 2026

Now that 2.0.0-rc-2 is out with swift-tools-version: 6.2, the Tuist example's Tuist/Package.swift can resolve on Xcode 26.0 (Swift 6.2). Completes the matrix consolidation #292 deferred.

Changes

  • Examples/ExampleTuistIntegration/Tuist/Package.swift — SafeDI pin from: "2.0.0-rc-1"from: "2.0.0-rc-2".
  • Examples/ExampleTuistIntegration/Tuist/Package.resolved — re-resolved against rc-2.
  • Examples/ExampleTuistIntegration/README.md — copy-paste snippet + >= rc-1 mention bumped to rc-2.
  • .github/workflows/ci.yml:spm-tuist-integration switches to Xcode 26.0 and drops the comment explaining the 26.4 carve-out.

Test plan

  • swift package resolve against the new pin — pulls rc-2 + the corresponding SafeDITool.artifactbundle.zip.
  • ./CLI/lint.sh clean.
  • CI green on Xcode 26.0 (now including spm-tuist-integration).

🤖 Generated with Claude Code

Now that 2.0.0-rc-2 is released with `swift-tools-version: 6.2`, the
Tuist example's `Tuist/Package.swift` can resolve under Xcode 26.0
(Swift 6.2). Drop the carve-out in `spm-tuist-integration` and run
on the same baseline as the rest of the SafeDI-core CI.

- `Examples/ExampleTuistIntegration/Tuist/Package.swift`: SafeDI
  pin `from: "2.0.0-rc-1"` → `from: "2.0.0-rc-2"`. Package.resolved
  updated to match.
- `Examples/ExampleTuistIntegration/README.md`: copy-paste snippet
  + `>= rc-1` reference both bumped to rc-2.
- `.github/workflows/ci.yml`: `spm-tuist-integration` job switches
  to Xcode 26.0 and drops the comment explaining why we were stuck
  on 26.4.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dfed
Copy link
Copy Markdown
Owner Author

dfed commented May 4, 2026

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (b0ff42a) to head (1260d19).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #293   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           41        41           
  Lines         7043      7043           
=========================================
  Hits          7043      7043           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dfed dfed merged commit 93990aa into main May 4, 2026
20 checks passed
@dfed dfed deleted the dfed--tuist-on-xcode-26 branch May 4, 2026 20:29
dfed added a commit that referenced this pull request May 4, 2026
Mirrors what the `./.github/actions/retry` composite already does for
`xcrun swift package resolve` / `xcrun xcodebuild
-resolvePackageDependencies`: 6 attempts with exponential backoff (15s →
240s).

## Why

Hit [a `502 Bad
Gateway`](https://github.com/dfed/SafeDI/actions/runs/25341849272/job/74300849749)
on `main`'s post-merge CI for
[#293](#293). Bazel was fetching
`MobileNativeFoundation/index-import/releases/download/6.1.0.1/index-import.tar.gz`
(a transitive `rules_swift` dependency) and GitHub's CDN flaked. Our
other download-flavored CI steps already wrap retry around it; the bazel
job didn't.

## What changes

- `.github/workflows/ci.yml` — both `bazelisk build` steps in the
`bazel` job now go through `./.github/actions/retry`.
- `Build Example`'s `working-directory:
Examples/ExampleBazelIntegration` becomes a `cd …` inside the retry
action's `command` (composite-action `uses:` ignores
`working-directory`).

## Test plan

- [x] Retry action's behavior unchanged from existing usage; new wiring
is identical.
- [ ] CI green on this PR's first run (no need to deliberately trigger a
flake — the change just adds tolerance).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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