apple / swift-openapi-urlsession

URLSession transport for Swift OpenAPI Generator.
https://swiftpackageindex.com/apple/swift-openapi-urlsession/documentation
Apache License 2.0
160 stars 29 forks source link

Add Docker Compose file for Swift 5.9.0 #40

Closed simonjbeaumont closed 10 months ago

simonjbeaumont commented 10 months ago

Motivation

As we approach 1.0 we want to make sure that we compile without warnings (or remarks) on all the Swift versions we claim to support. As discussed in https://github.com/apple/swift-openapi-urlsession/pull/35, this turns out to be subtly different between 5.9.0 and 5.9.1. We cannot drop support for 5.9.0 because the latest released (non-seed) Xcode still uses 5.9.0. However 5.9.1 is the latest release for Linux.

While we don't expect to do this for all patch versions of Swift, in this instance we'd like to add a pipeline for Swift 5.9.0 until such a time that we can expect everyone to be using 5.9.1, which will be some time after an Xcode release with this version.

This will allow us to progress squashing the remarks on 5.9.1 with confidence that we aren't introducing warnings on 5.9.0, which could result in an error for adopters if they compile our generated code with warnings-as-errors.

Modifications

This PR adds a new Docker Compose file to explicitly use 5.9.0.

It leaves the existing 5.9 pipeline to pull 5.9-jammy which resolves to 5.9.1, and will continue to resolve to the latest 5.9.x version.

Result

We can now stand up a new CI pipeline for Swift 5.9.0 explicitly, which we can use this PR to validate.

simonjbeaumont commented 10 months ago

@yim-lee Please could you help us here too (same as https://github.com/apple/swift-openapi-generator/pull/411). 🙏

yim-lee commented 10 months ago

@swift-server-bot test this please

yim-lee commented 10 months ago

@simonjbeaumont Added pipeline for 5.9.0

simonjbeaumont commented 10 months ago

@czechboy0 just needs an approval for the auto merge.