Page MenuHomePhabricator

[CI] Add `XCTest`s to GitHub Actions CI
ClosedPublic

Authored by atul on Jul 25 2022, 9:00 AM.
Tags
None
Referenced Files
F2206220: D4621.id15277.diff
Sun, Jul 7, 12:16 AM
F2205764: D4621.diff
Sat, Jul 6, 11:22 PM
Unknown Object (File)
Sat, Jun 29, 3:40 PM
Unknown Object (File)
Fri, Jun 21, 4:45 PM
Unknown Object (File)
Fri, Jun 21, 4:45 PM
Unknown Object (File)
Fri, Jun 21, 4:45 PM
Unknown Object (File)
Fri, Jun 21, 4:45 PM
Unknown Object (File)
Fri, Jun 21, 4:45 PM
Subscribers

Details

Summary

Self-explanatory, these tests weren't being run on CI until now.


Depends on D4622 (even though it has higher diff ID, sorry about that)

Test Plan

Worked locally... will see whether CI job succeeds after landing (should be quick revert if there are issues).

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

atul requested review of this revision.Jul 25 2022, 9:13 AM
This revision is now accepted and ready to land.Jul 26 2022, 4:32 AM

What does this launch? CryptoTest.mm? Anything else?

In D4621#133046, @karol wrote:

What does this launch? CryptoTest.mm? Anything else?

Yeah CryptoTest is the only XCTest "suite" that we have

This revision now requires review to proceed.Aug 2 2022, 12:04 PM
atul retitled this revision from [CI] Add `XCTest`s to Buildkite/GitHub Actions CI to [CI] Add `XCTest`s to GitHub Actions CI.Aug 2 2022, 12:05 PM

fix name of test command

Limiting to just GitHub Actions for now so we don't put twice as much pressure on the macOS agents without much benefit in return.

This is basically taken from .github/ios_ci.yml with the xcodebuild command swapped out from archive to test.

Obviously it would be nice to include this in Buildkite, but I think we should defer that until we have a more scalable way to handle CI workflows that require macOS agents. (As an aside, I looked at the Xcode Cloud API docs https://developer.apple.com/xcode-cloud/ and it seems like it should be possible to integrate with Harbormaster and/or Buildkite... but that's for way later in the future.)

2 questions

do we care about line length here?

should we clean up the AUTH_KEY.p8 file?

This revision is now accepted and ready to land.Aug 2 2022, 12:43 PM

Appreciate the diligence around line length, but probably okay to ignore it here

should we clean up the AUTH_KEY.p8 file?

The machine is destroyed after the workflow is created, so there's no need.

The "Clean up keychain and provisioning profile" step is actually unnecessary as well (https://docs.github.com/en/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development#required-clean-up-on-self-hosted-runners). I included it "just in case" we wanted to one day run the GH Actions workflows on our own self-hosted runners... in which case adding the cleanup step would make things more portable or whatever.

But I think we're set on Buildkite for our self-hosted CI needs so it could probably just be removed at this point.

rebase against master before landing

This revision was automatically updated to reflect the committed changes.