From 61f6e54eea193a2ed9ea004f4241192f77f82930 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 21 Oct 2026 10:22:23 +0200 Subject: [PATCH 1/2] ci: Fix Linux jobs on Ubuntu 26.04 runners ubuntu-latest now resolves to Ubuntu 26.04, where Java 25 is the default JDK and no Swift 6.0 toolchain is published. Set up Java 17 in the Linux jobs that build or lint Java, since Gradle 8.13 can't run on Java 25. Install Swift 6.4.1 for SwiftLint, the first release with Ubuntu 26.04 toolchains. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/buildandtest.yml | 18 +++++++++++++++--- .github/workflows/sample-application-expo.yml | 5 +++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.github/workflows/buildandtest.yml b/.github/workflows/buildandtest.yml index 39c199f652..591171fa18 100644 --- a/.github/workflows/buildandtest.yml +++ b/.github/workflows/buildandtest.yml @@ -70,6 +70,10 @@ jobs: node-version: 18 cache: 'yarn' cache-dependency-path: yarn.lock + - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 + with: + java-version: '17' + distribution: 'temurin' - name: Install Dependencies run: yarn install @@ -92,7 +96,7 @@ jobs: run: | # Install Swift dependencies first sudo apt-get update - sudo apt-get -y install libcurl4-openssl-dev libz3-dev libncurses-dev libedit-dev libxml2-dev + sudo apt-get -y install libcurl4-openssl-dev libz3-dev libncurses-dev libedit-dev libxml2-dev binutils-gold ARCH=$(uname -m) SWIFTLY_FILE="swiftly-${ARCH}.tar.gz" @@ -103,8 +107,8 @@ jobs: . "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" hash -r - # Install Swift 6.0 (compatible with SwiftLint 0.63.2) - swiftly install 6.0 + # Swift 6.4 is the first release with Ubuntu 26.04 toolchains + swiftly install 6.4.1 swift --version # Export Swift toolchain path for SwiftLint's SourceKit @@ -161,6 +165,10 @@ jobs: node-version: 18 cache: 'yarn' cache-dependency-path: yarn.lock + - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 + with: + java-version: '17' + distribution: 'temurin' - name: Install Dependencies run: yarn install - name: Build @@ -378,6 +386,10 @@ jobs: node-version: 22 cache: 'yarn' cache-dependency-path: yarn.lock + - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 + with: + java-version: '17' + distribution: 'temurin' - name: Install Dependencies run: yarn install - name: Build diff --git a/.github/workflows/sample-application-expo.yml b/.github/workflows/sample-application-expo.yml index c0b40c7ef9..9d1aac968d 100644 --- a/.github/workflows/sample-application-expo.yml +++ b/.github/workflows/sample-application-expo.yml @@ -230,6 +230,11 @@ jobs: cache: "yarn" cache-dependency-path: yarn.lock + - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 + with: + java-version: "17" + distribution: "temurin" + - name: Install SDK Dependencies run: yarn install From 5e0277faad1869aa087fdc371e39801076dd474f Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 21 Oct 2026 10:30:57 +0200 Subject: [PATCH 2/2] ci: Keep the Lint job on Ubuntu 24.04 for SwiftLint SwiftLint's Linux binary needs libxml2.so.2, which Ubuntu 26.04 no longer ships. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/buildandtest.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildandtest.yml b/.github/workflows/buildandtest.yml index 591171fa18..6ddba02faf 100644 --- a/.github/workflows/buildandtest.yml +++ b/.github/workflows/buildandtest.yml @@ -58,7 +58,8 @@ jobs: job_lint: name: Lint - runs-on: ubuntu-latest + # SwiftLint's Linux binary needs libxml2.so.2, which Ubuntu 26.04 no longer ships + runs-on: ubuntu-24.04 needs: [diff_check] if: ${{ needs.diff_check.outputs.skip_ci != 'true' }} steps: @@ -96,7 +97,7 @@ jobs: run: | # Install Swift dependencies first sudo apt-get update - sudo apt-get -y install libcurl4-openssl-dev libz3-dev libncurses-dev libedit-dev libxml2-dev binutils-gold + sudo apt-get -y install libcurl4-openssl-dev libz3-dev libncurses-dev libedit-dev libxml2-dev ARCH=$(uname -m) SWIFTLY_FILE="swiftly-${ARCH}.tar.gz" @@ -107,8 +108,8 @@ jobs: . "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" hash -r - # Swift 6.4 is the first release with Ubuntu 26.04 toolchains - swiftly install 6.4.1 + # Install Swift 6.0 (compatible with SwiftLint 0.63.2) + swiftly install 6.0 swift --version # Export Swift toolchain path for SwiftLint's SourceKit