Skip to content

Run CI tests on the Swift package and remove the Xcode project - #102

Closed
laevandus wants to merge 1 commit into
developfrom
ci/remove-xcode-project
Closed

laevandus wants to merge 1 commit into
developfrom
ci/remove-xcode-project

Conversation

@laevandus

@laevandus laevandus commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

🔗 Issue Links

Resolves: IOS-2225

🎯 Goal

Run CI tests on Package.swift so they build with the same settings SPM consumers get, and remove the Xcode project.

📝 Summary

  • Test lanes run scan on the package (StreamCore-Package scheme with -only-testing:<Target>Tests) instead of the Xcode framework targets
  • Sonar coverage comes from xcresultparser 2.2.0 (pinned in Githubfile) instead of slather
  • Releases no longer bump Info.plist versions; the SDK version stays in SystemEnvironment+Version.swift
  • Deleted StreamCore.xcodeproj, Sources/*/Info.plist, the test plans and .slather.yml
  • fastlane-plugin-stream_actions temporarily points at the optional-sdk-names branch until the plugin is released

🛠 Implementation

The Xcode framework targets built with an iOS 15.0 deployment target and compiled StreamAttachments in Swift 5 mode. Consumers get iOS 13 and Swift 6 from Package.swift. CI now builds exactly what consumers build.

The Sonar project version now comes from SystemEnvironment+Version.swift. Before, get_version_number returned 1.0, which the version regex didn't match, so the version was empty.

🎨 Showcase

Before After
img img

🧪 Manual Testing Notes

Open Package.swift in Xcode, or run bundle exec fastlane test_core device:"iPhone 17 Pro". The coverage step needs xcresultparser installed locally.

☑️ Contributor Checklist

  • I have signed the Stream CLA (required)
  • This change should be manually QAed
  • Changelog is updated with client-facing changes
  • Changelog is updated with new localization keys
  • New code is covered by unit tests
  • Documentation has been updated in the docs-content repo

Comment thread fastlane/Pluginfile

gem 'fastlane-plugin-versioning'
gem 'fastlane-plugin-stream_actions', '0.4.9'
gem 'fastlane-plugin-stream_actions', git: 'https://github.com/GetStream/fastlane-plugin-stream_actions.git', branch: 'optional-sdk-names'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change later

@laevandus laevandus closed this Oct 28, 2026
@github-actions

Copy link
Copy Markdown
1 Message
📖 Skipping Danger since the Pull Request is classed as Draft/Work In Progress

Generated by 🚫 Danger

@sonarqubecloud

Copy link
Copy Markdown

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