Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Improve the iOS CI job #1000

Merged
merged 60 commits into from
Jun 27, 2023
Merged

chore: Improve the iOS CI job #1000

merged 60 commits into from
Jun 27, 2023

Conversation

jbelkins
Copy link
Contributor

@jbelkins jbelkins commented May 15, 2023

Description of changes

Replaces the iOS Github CI job with a new job having the following improvements:

  • Does not use the CRT Builder script. Provides its own lightweight scripting for project setup.
  • No dependency on access to any AWS account or any special Github credentials.
  • No need to maintain any external build container or other resource.
  • Builds protocol tests & unit tests together, reducing build time by de-duplicating several build steps.
  • Uses xcodebuild to build & test the SDK using the iOS Simulator.
  • xcbeautify is used to clean up & reduce the volume of Swift logs, and to reduce build time.

Once this job has had an opportunity to run for a while and proves reliable & efficient, I plan to adapt it for use with other CI jobs as well.

New/existing dependencies impact assessment, if applicable

No new dependencies were added to this change.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jbelkins jbelkins changed the title chore: Add new CI task free of AWS CRT builder chore: Improve the iOS CI task Jun 24, 2023
@jbelkins jbelkins marked this pull request as ready for review June 24, 2023 16:45
@jbelkins jbelkins changed the title chore: Improve the iOS CI task chore: Improve the iOS CI job Jun 26, 2023
distribution: corretto
java-version: 17
- name: Setup xcbeautify
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install xcbeautify
Copy link

Choose a reason for hiding this comment

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

Why set HOMEBREW_NO_AUTO_UPDATE? Each CI run will be re-installing xcbeautify.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Homebrew will automatically update whenever it's invoked, unless this var is set.

The Github CI machines are often pretty far behind on the Homebrew repo, so updating homebrew takes a fair amount of time.

xcbeautify itself doesn't get updated very often, and I'm OK with being behind the latest version.

@jbelkins jbelkins merged commit af2f5e4 into main Jun 27, 2023
@jbelkins jbelkins deleted the jbe/new_ci branch June 27, 2023 16:53
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.

2 participants