From 3ef5cb117fc0699878e6daa75df9f6165caa5eb3 Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sat, 15 Feb 2025 02:00:33 +0100 Subject: [PATCH 1/9] Android CI --- .github/workflows/ci.yml | 46 +++++----------------------------------- 1 file changed, 5 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a431b01..266d3a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,45 +76,9 @@ jobs: run: swift test android: - name: Android (Swift 6.0.2) - runs-on: ubuntu-22.04 + name: Android + runs-on: ubuntu-latest steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - name: Install Swift - uses: tayloraswift/swift-install-action@master - with: - swift-prefix: swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE - swift-id: swift-6.0.2-RELEASE-ubuntu22.04 - - name: Check Swift - run: swift --version - - name: Install Android SDK - run: - swift sdk install https://github.com/finagolfin/swift-android-sdk/releases/download/6.0.2/swift-6.0.2-RELEASE-android-24-0.1.artifactbundle.tar.gz --checksum d75615eac3e614131133c7cc2076b0b8fb4327d89dce802c25cd53e75e1881f4 - - name: Check Android SDK - run: - swift sdk configure --show-configuration swift-6.0.2-RELEASE-android-24-0.1 x86_64-unknown-linux-android24 - - name: Build Tests - run: - swift build --build-tests --swift-sdk x86_64-unknown-linux-android24 -Xswiftc -Xclang-linker -Xswiftc -fuse-ld=lld - - name: Prepare Android Emulator Test Script - run: | - mkdir pack - cp .build/x86_64-unknown-linux-android24/debug/swift-custom-dumpPackageTests.xctest pack - - cp /home/runner/.config/swiftpm/swift-sdks/swift-6.0.2-RELEASE-android-24-0.1.artifactbundle/swift-6.0.2-release-android-24-sdk/android-27c-sysroot/usr/lib/x86_64-linux-android/24/lib*.so pack - rm pack/lib{c,dl,log,m,z}.so - - set -x - cat > ~/test-toolchain.sh << EOF - adb push pack /data/local/tmp - adb shell /data/local/tmp/pack/swift-custom-dumpPackageTests.xctest - EOF - - chmod +x ~/test-toolchain.sh - - name: Run Tests on Android Emulator - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: 29 - arch: x86_64 - script: ~/test-toolchain.sh \ No newline at end of file + - uses: actions/checkout@v4 + - name: "Test Swift Package on Android" + uses: skiptools/swift-android-action@v2 \ No newline at end of file From 8b7119a30270f1f90884dd7b56413dd1c5333fdf Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sat, 15 Feb 2025 12:45:44 +0100 Subject: [PATCH 2/9] Use newer Swift version for wasm --- .github/workflows/ci.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 266d3a2..5f83d91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,12 +48,16 @@ jobs: steps: - uses: actions/checkout@v4 - uses: bytecodealliance/actions/wasmtime/setup@v1 - - uses: swiftwasm/setup-swiftwasm@v1 - with: - swift-version: "wasm-5.9.2-RELEASE" - - name: Build tests - # Extend the stack size to avoid stack overflow in the test suites - run: swift build --triple wasm32-unknown-wasi --build-tests -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) + - name: Install Swift and Swift SDK for WebAssembly + run: | + PREFIX=/opt/swift + set -ex + curl -f -o /tmp/swift.tar.gz "https://download.swift.org/swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE-ubuntu22.04.tar.gz" + sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1 + $PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.2-RELEASE/swift-wasm-6.0.2-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 6ffedb055cb9956395d9f435d03d53ebe9f6a8d45106b979d1b7f53358e1dcb4 + echo "$PREFIX/usr/bin" >> $GITHUB_PATH + - name: Build + run: swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) - name: Run tests run: wasmtime .build/debug/swift-custom-dumpPackageTests.wasm From d14dedf9f8d2a06f38d95859caa083d766389333 Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Fri, 14 Nov 2025 11:20:39 -0800 Subject: [PATCH 3/9] Update ci.yml --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e284457..1dbf3ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,11 +56,8 @@ jobs: sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1 $PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.3-RELEASE/swift-wasm-6.0.3-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 31d3585b06dd92de390bacc18527801480163188cd7473f492956b5e213a8618 echo "$PREFIX/usr/bin" >> $GITHUB_PATH - - name: Build run: swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) - - name: Run tests - run: wasmtime .build/debug/swift-custom-dumpPackageTests.wasm windows: name: Windows From 8ce540614e54c2b1612d67b1e73915898878b27e Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Fri, 14 Nov 2025 12:10:20 -0800 Subject: [PATCH 4/9] Add IssueReportingTestSupport dependency to tests --- Package.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index af27ad9..bab70de 100644 --- a/Package.swift +++ b/Package.swift @@ -30,7 +30,8 @@ let package = Package( .testTarget( name: "CustomDumpTests", dependencies: [ - "CustomDump" + "CustomDump", + .product(name: "IssueReportingTestSupport", package: "xctest-dynamic-overlay"), ] ), ] From 68daec1da0cd9ccd2034d6612b46d8f5e915dde9 Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Fri, 14 Nov 2025 12:10:42 -0800 Subject: [PATCH 5/9] Add dependency on IssueReportingTestSupport in tests --- Package@swift-5.9.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Package@swift-5.9.swift b/Package@swift-5.9.swift index 5c2d702..5b2fa2a 100644 --- a/Package@swift-5.9.swift +++ b/Package@swift-5.9.swift @@ -33,7 +33,8 @@ let package = Package( .testTarget( name: "CustomDumpTests", dependencies: [ - "CustomDump" + "CustomDump", + .product(name: "IssueReportingTestSupport", package: "xctest-dynamic-overlay"), ] ), ] From 71771ed9d2741cfba2ae403390ca9e3537c72812 Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sun, 16 Nov 2025 00:26:45 +0100 Subject: [PATCH 6/9] Fix tests --- Tests/CustomDumpTests/Conformances/FoundationTests.swift | 3 +-- Tests/CustomDumpTests/ExpectNoDifferenceTests.swift | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Tests/CustomDumpTests/Conformances/FoundationTests.swift b/Tests/CustomDumpTests/Conformances/FoundationTests.swift index 2d10ab6..99f393c 100644 --- a/Tests/CustomDumpTests/Conformances/FoundationTests.swift +++ b/Tests/CustomDumpTests/Conformances/FoundationTests.swift @@ -626,8 +626,7 @@ final class FoundationTests: XCTestCase { ], httpBody: nil, httpBodyStream: nil, - httpShouldHandleCookies: true, - httpShouldUsePipelining: false + httpShouldHandleCookies: true ) """ ) diff --git a/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift b/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift index 8315fde..8121d4c 100644 --- a/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift +++ b/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift @@ -24,7 +24,7 @@ import XCTest expectNoDifference(user, otherUser) } matching: { $0.description == """ - Expectation failed: Difference: … + Issue recorded (error): Difference: …   ExpectNoDifferenceTests.User(   id: UUID(DEADBEEF-DEAD-BEEF-DEAD-BEEFDEADBEEF), From 1971911b83bcfb0ce850256f29e2fd5ef4d1fc7a Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sun, 16 Nov 2025 00:40:19 +0100 Subject: [PATCH 7/9] Trying settings similar to swift-case-paths --- .github/workflows/ci.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b06ef7a..7a01faf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,13 @@ concurrency: cancel-in-progress: true jobs: - macos-14: - name: macOS 14 (Xcode ${{ matrix.xcode }}) - runs-on: macOS-14 + macos: + name: macOS (Xcode ${{ matrix.xcode }}) + runs-on: macos-15 strategy: matrix: xcode: - - '15.4' + - '16.4' steps: - uses: actions/checkout@v4 - name: Select Xcode ${{ matrix.xcode }} @@ -31,16 +31,17 @@ jobs: run: make test-platforms linux: - name: Ubuntu - runs-on: ubuntu-latest strategy: matrix: swift: - - '5.10' + - '6.1' + name: Ubuntu (Swift ${{ matrix.swift }}) + runs-on: ubuntu-latest + container: swift:${{ matrix.swift }} steps: - uses: actions/checkout@v4 - name: Run tests - run: make test-linux SWIFT_VERSION=${{ matrix.swift }} + run: swift test --parallel wasm: name: Wasm @@ -60,6 +61,10 @@ jobs: run: swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) android: + strategy: + matrix: + swift: + - "6.0.2" name: Android runs-on: ubuntu-latest steps: From 0a7f3f107ccc4760637098c552df9ec82fa31387 Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sun, 16 Nov 2025 00:46:13 +0100 Subject: [PATCH 8/9] Revert "Fix tests" 71771ed9d2741cfba2ae403390ca9e3537c72812 --- Tests/CustomDumpTests/Conformances/FoundationTests.swift | 3 ++- Tests/CustomDumpTests/ExpectNoDifferenceTests.swift | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Tests/CustomDumpTests/Conformances/FoundationTests.swift b/Tests/CustomDumpTests/Conformances/FoundationTests.swift index 99f393c..2d10ab6 100644 --- a/Tests/CustomDumpTests/Conformances/FoundationTests.swift +++ b/Tests/CustomDumpTests/Conformances/FoundationTests.swift @@ -626,7 +626,8 @@ final class FoundationTests: XCTestCase { ], httpBody: nil, httpBodyStream: nil, - httpShouldHandleCookies: true + httpShouldHandleCookies: true, + httpShouldUsePipelining: false ) """ ) diff --git a/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift b/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift index 8121d4c..8315fde 100644 --- a/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift +++ b/Tests/CustomDumpTests/ExpectNoDifferenceTests.swift @@ -24,7 +24,7 @@ import XCTest expectNoDifference(user, otherUser) } matching: { $0.description == """ - Issue recorded (error): Difference: … + Expectation failed: Difference: …   ExpectNoDifferenceTests.User(   id: UUID(DEADBEEF-DEAD-BEEF-DEAD-BEEFDEADBEEF), From a088cf2281bb47be4a01af78559da814e5ca5dee Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sun, 16 Nov 2025 00:46:17 +0100 Subject: [PATCH 9/9] Revert "Trying settings similar to swift-case-paths" 1971911b83bcfb0ce850256f29e2fd5ef4d1fc7a --- .github/workflows/ci.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a01faf..b06ef7a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,13 @@ concurrency: cancel-in-progress: true jobs: - macos: - name: macOS (Xcode ${{ matrix.xcode }}) - runs-on: macos-15 + macos-14: + name: macOS 14 (Xcode ${{ matrix.xcode }}) + runs-on: macOS-14 strategy: matrix: xcode: - - '16.4' + - '15.4' steps: - uses: actions/checkout@v4 - name: Select Xcode ${{ matrix.xcode }} @@ -31,17 +31,16 @@ jobs: run: make test-platforms linux: + name: Ubuntu + runs-on: ubuntu-latest strategy: matrix: swift: - - '6.1' - name: Ubuntu (Swift ${{ matrix.swift }}) - runs-on: ubuntu-latest - container: swift:${{ matrix.swift }} + - '5.10' steps: - uses: actions/checkout@v4 - name: Run tests - run: swift test --parallel + run: make test-linux SWIFT_VERSION=${{ matrix.swift }} wasm: name: Wasm @@ -61,10 +60,6 @@ jobs: run: swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) android: - strategy: - matrix: - swift: - - "6.0.2" name: Android runs-on: ubuntu-latest steps: