apple / apple/swift-container-plugin

CI workflows should not fail when new Swift versions are introduced upstream

Open
#161 0 comments 0 reactions 0 assignees View on GitHub
area/testing kind/administration
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.