apple / apple/swift-container-plugin
CI workflows should not fail when new Swift versions are introduced upstream
- Dominant language
- Swift
- Stars
- 390
- Forks
- 26
- Avg merge
- 8m
- Merged PRs (30d)
- 1
Description
This project uses common GitHub workflows from [swiftlang/github-workflows](https://github.com/swiftlang/github-workflows) and [apple/swift-nio](https://github.com/apple/swift-nio). When these workflows move to new versions of Swift, builds in this project fail until new variables have been defined for the unit tests, and the static SDK has been updated for the integration and end-to-end tests.
The unit tests need to be updated because some tests need access to a container registry instance which is not created by the unit test job, and a version-specific flag must be updated to disable them. If the unit test job cannot create the registry, these tests should be removed from the test suite and added to a separate integration test suite.
The integration and end-to-end tests fail because they install a hard-coded version of the static SDK but use a floating version of the Swift compiler inherited from the workflows in `swift-nio`. They should either install an appropriate Static SDK automatically, or be pinned to use a matching version of the Swift compiler until updated by hand.
Contributor guide
Research direction
Start by reading the shared workflows from swiftlang/github-workflows and apple/swift-nio, then inspect the unit, integration, and end-to-end test jobs that install or use Swift and the static SDK. Done means new upstream Swift versions no longer break CI, with registry-dependent tests isolated appropriately and the compiler and static SDK versions kept compatible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, swift
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100