Page MenuHomePhabricator

[Spike] Investigate options for unit testing Swift without proprietary code
Closed, ResolvedPublic

Description

Our goal is to consolidate all of the Metrics Platform client libraries, including the Swift library, into a single repository, mediawiki/libs/metrics-platform. We'd prefer to keep it hosted in Gerrit and CI-tested in Wikimedia's infrastructure. Testing in our CI infrastructure requires that we do not use any proprietary code.

We need to answer the following:

  • Can we do the testing we need exclusively with open-source Swift tooling?
  • https://github.com/apple/swift-corelibs-xctest looks like the testing framework we need. Is it?
    • Do we get it "for free" via the swift executable in the official swift Docker images?
  • If not, are there one or more other components that will meet our needs?

Expected outcome: A Dockerized proof-of-concept implementation showing that https://github.com/apple/swift-corelibs-xctest (or similar alternative) will meet our needs.

Event Timeline

Mholloway created this task.
Mholloway updated the task description. (Show Details)

Change 682131 had a related patch set uploaded (by Mholloway; author: Michael Holloway):

[mediawiki/libs/metrics-platform@master] Add stub Swift project to demo testing

https://gerrit.wikimedia.org/r/682131

  • Can we do the testing we need exclusively with open-source Swift tooling?

Yes.

Yes.

  • Do we get it "for free" via the swift executable in the official swift Docker images?

Yes.

  • If not, are there one or more other components that will meet our needs?

N/A

A stub Swift project proving the concept has been merged is in Gerrit and ready to merge into the library repo. Next step is to actually pull in the library. This task is ready to resolve.

Edit: Jumped the gun.

Change 682131 abandoned by Mholloway:

[mediawiki/libs/metrics-platform@master] Add stub Swift project and Blubberfile to demo testing

Reason:

Superseded by Ia119291e41b21309ef640f14f9ea2a7c41554c87.

https://gerrit.wikimedia.org/r/682131