diff --git a/.github/workflows/swift-source-compat.yml b/.github/workflows/swift-source-compat.yml new file mode 100644 index 0000000..cdd57d6 --- /dev/null +++ b/.github/workflows/swift-source-compat.yml @@ -0,0 +1,31 @@ +name: Swift Source Compatibility + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + swift-source-compat-suite: + name: Test Swift ${{ matrix.container }} For Source Compatibility Suite + runs-on: ubuntu-latest + if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} + continue-on-error: ${{ contains(matrix.container, 'nightly') }} + + strategy: + fail-fast: false + matrix: + container: + - swift:6.1 + - swift:6.2 + - swiftlang/swift:nightly-6.3-noble + + container: ${{ matrix.container }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Test Swift 6.x For Source Compatibility + run: swift build --disable-sandbox --verbose --configuration release diff --git a/Package.swift b/Package.swift index 6442357..bbbd6af 100644 --- a/Package.swift +++ b/Package.swift @@ -62,14 +62,6 @@ let swiftSettings: [SwiftSetting] = [ // Enhanced compiler checking .unsafeFlags([ - // Enable concurrency warnings - "-warn-concurrency", - // Enable actor data race checks - "-enable-actor-data-race-checks", - // Complete strict concurrency checking - "-strict-concurrency=complete", - // Enable testing support - "-enable-testing", // Warn about functions with >100 lines "-Xfrontend", "-warn-long-function-bodies=100", // Warn about slow type checking expressions