From c41cc096cafd900c585d99f0385fbc8e4c6f6d74 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Wed, 25 Feb 2026 20:35:42 +0530 Subject: [PATCH 1/8] ci: stop building for Android in a container --- .github/workflows/pull_request.yml | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8f66170d..e09cd454 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -184,28 +184,21 @@ jobs: run: swift test --disable-experimental-swift-testing build-swift-android: - name: Sample SwiftJavaExtractJNISampleApp (Android) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} android:${{matrix.sdk_triple}}) - runs-on: ubuntu-latest + name: Sample SwiftJavaExtractJNISampleApp (Android) (swift:${{ matrix.swift_version }} android:${{matrix.sdk_triple}} NDK:${{matrix.ndk_version}}) + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - swift_version: ['nightly-main'] + swift_version: ['nightly-main', 'nightly-6.3'] os_version: ['jammy'] jdk_vendor: ['corretto'] - sdk_triple: ['x86_64-unknown-linux-android28', 'armv7-unknown-linux-android28'] - ndk_version: ['r27d'] - container: - image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} + sdk_triple: ['aarch64-unknown-linux-android28', 'x86_64-unknown-linux-android28', 'armv7-unknown-linux-android28'] + ndk_version: ['r27d', 'r28c'] steps: - uses: actions/checkout@v6 - name: Prepare CI Environment uses: ./.github/actions/prepare_env - name: Install Swift SDK for Android and build - env: - JAVA_HOME: ${{ env.JAVA_HOME }} - JAVA_HOME_17: ${{ env.JAVA_HOME_17 }} - JAVA_HOME_25: ${{ env.JAVA_HOME_25 }} - ANDROID_NDK_HOME: ${{ env.ANDROID_NDK_HOME }} run: | apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp From 18d6c22ca4e75ed17f867c64135795b19953b2ef Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 27 Feb 2026 16:17:17 +0530 Subject: [PATCH 2/8] Go back to the container build, just to see if the latest trunk snapshot fails there too --- .github/workflows/pull_request.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index e09cd454..0d8f98a1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -185,7 +185,7 @@ jobs: build-swift-android: name: Sample SwiftJavaExtractJNISampleApp (Android) (swift:${{ matrix.swift_version }} android:${{matrix.sdk_triple}} NDK:${{matrix.ndk_version}}) - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: fail-fast: false matrix: @@ -193,12 +193,16 @@ jobs: os_version: ['jammy'] jdk_vendor: ['corretto'] sdk_triple: ['aarch64-unknown-linux-android28', 'x86_64-unknown-linux-android28', 'armv7-unknown-linux-android28'] - ndk_version: ['r27d', 'r28c'] + ndk_version: ['r27d'] + container: + image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} steps: - uses: actions/checkout@v6 - name: Prepare CI Environment uses: ./.github/actions/prepare_env - name: Install Swift SDK for Android and build + env: + ANDROID_NDK_HOME: ${{ env.ANDROID_NDK_HOME }} run: | apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp From ed9c11bf359ee132bbcb560061d61abd0ff004e7 Mon Sep 17 00:00:00 2001 From: finagolfin Date: Wed, 4 Mar 2026 20:33:23 +0530 Subject: [PATCH 3/8] Update pull_request.yml to remove container and modify script to add Swift toolchain to PATH --- .github/workflows/pull_request.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 0d8f98a1..7691ebea 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -185,7 +185,7 @@ jobs: build-swift-android: name: Sample SwiftJavaExtractJNISampleApp (Android) (swift:${{ matrix.swift_version }} android:${{matrix.sdk_triple}} NDK:${{matrix.ndk_version}}) - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -193,21 +193,18 @@ jobs: os_version: ['jammy'] jdk_vendor: ['corretto'] sdk_triple: ['aarch64-unknown-linux-android28', 'x86_64-unknown-linux-android28', 'armv7-unknown-linux-android28'] - ndk_version: ['r27d'] - container: - image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} + ndk_version: ['r27d', 'r28c'] steps: - uses: actions/checkout@v6 - name: Prepare CI Environment uses: ./.github/actions/prepare_env - name: Install Swift SDK for Android and build - env: - ANDROID_NDK_HOME: ${{ env.ANDROID_NDK_HOME }} run: | apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp - curl -s --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh | \ - bash -s -- --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} + curl -s --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh + perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh + ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} verify-samples: name: Sample ${{ matrix.sample_app }} (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) From 96c15c5b736e5aa7b3d6496ad6f64e816b639d5e Mon Sep 17 00:00:00 2001 From: finagolfin Date: Wed, 4 Mar 2026 20:43:36 +0530 Subject: [PATCH 4/8] Update pull_request.yml to fix curl flags --- .github/workflows/pull_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 7691ebea..8250e093 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -202,7 +202,7 @@ jobs: run: | apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp - curl -s --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh + curl -L -O --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} From 8d857f87633478b6b2c0c000f41e523b87f3e331 Mon Sep 17 00:00:00 2001 From: finagolfin Date: Wed, 4 Mar 2026 20:47:58 +0530 Subject: [PATCH 5/8] Update pull_request.yml to fix script permissions --- .github/workflows/pull_request.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8250e093..b8b4a40a 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -204,6 +204,8 @@ jobs: cd Samples/SwiftJavaExtractJNISampleApp curl -L -O --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh + ls -l install-and-build-with-sdk.sh + chmod 500 install-and-build-with-sdk.sh ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} verify-samples: From b7a1c5e348a157845d80639a2a11a2bdce4b7a2a Mon Sep 17 00:00:00 2001 From: finagolfin Date: Thu, 5 Mar 2026 06:08:35 +0530 Subject: [PATCH 6/8] Update pull_request.yml to export PATH change --- .github/workflows/pull_request.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index b8b4a40a..96d6ecb1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -203,8 +203,7 @@ jobs: apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp curl -L -O --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh - perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh - ls -l install-and-build-with-sdk.sh + perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n export PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh chmod 500 install-and-build-with-sdk.sh ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} From 4069c82137651aaf9a91ee0af1dac638e079214f Mon Sep 17 00:00:00 2001 From: finagolfin Date: Thu, 5 Mar 2026 06:23:54 +0530 Subject: [PATCH 7/8] Update pull_request.yml to set PATH properly and print it so it can be checked --- .github/workflows/pull_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 96d6ecb1..a85c98d1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -203,7 +203,7 @@ jobs: apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp curl -L -O --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh - perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n export PATH=\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK:\\\$PATH#" install-and-build-with-sdk.sh + perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$(\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK):\\\$PATH\n echo \"path is now \\\$PATH\"#" install-and-build-with-sdk.sh chmod 500 install-and-build-with-sdk.sh ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }} From c5ef216819f634c5d09eebb13c59d1419e154f89 Mon Sep 17 00:00:00 2001 From: finagolfin Date: Thu, 5 Mar 2026 06:28:02 +0530 Subject: [PATCH 8/8] Update pull_request.yml to add dirname I left out --- .github/workflows/pull_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index a85c98d1..63f8e96d 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -203,7 +203,7 @@ jobs: apt-get -q update && apt-get -yq install curl cd Samples/SwiftJavaExtractJNISampleApp curl -L -O --retry 3 https://raw.githubusercontent.com/swiftlang/github-workflows/refs/heads/main/.github/workflows/scripts/install-and-build-with-sdk.sh - perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$(\\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK):\\\$PATH\n echo \"path is now \\\$PATH\"#" install-and-build-with-sdk.sh + perl -pi -e "s#(download_and_extract_toolchain \".ANDROID_SDK_TAG\"\))#\1\n PATH=\\\$(dirname \\\$SWIFT_EXECUTABLE_FOR_ANDROID_SDK):\\\$PATH\n echo \"path is now \\\$PATH\"#" install-and-build-with-sdk.sh chmod 500 install-and-build-with-sdk.sh ./install-and-build-with-sdk.sh --android --build-command="swift build" --android-sdk-triple="${{ matrix.sdk_triple }}" --android-ndk-version="${{ matrix.ndk_version }}" ${{ matrix.swift_version }}