From e6bdcd9f84595095bb7a55d9474a16bf8bb5a8d3 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 1 Jul 2026 12:03:39 +0200 Subject: [PATCH 1/3] chore: use Xcode 26.5 --- .github/workflows/build-ios.yml | 4 ++-- .github/workflows/update-lockfiles.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 0aedf89f..7f042f36 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -73,8 +73,8 @@ jobs: bundler-cache: true working-directory: example - - name: Select Xcode 26.2 - run: sudo xcode-select -s "/Applications/Xcode_26.2.app/Contents/Developer" + - name: Select Xcode 26.5 + run: sudo xcode-select -s "/Applications/Xcode_26.5.app/Contents/Developer" - name: Restore Pods cache uses: actions/cache@v5 diff --git a/.github/workflows/update-lockfiles.yml b/.github/workflows/update-lockfiles.yml index f1506400..6fd936cc 100644 --- a/.github/workflows/update-lockfiles.yml +++ b/.github/workflows/update-lockfiles.yml @@ -37,8 +37,8 @@ jobs: bundler-cache: true working-directory: example/ios - - name: Select Xcode 26.2 - run: sudo xcode-select -s "/Applications/Xcode_26.2.app/Contents/Developer" + - name: Select Xcode 26.5 + run: sudo xcode-select -s "/Applications/Xcode_26.5.app/Contents/Developer" - run: | bun install From 375f704dbad93108477ef1048795c46b45f83234 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 1 Jul 2026 12:03:50 +0200 Subject: [PATCH 2/3] fix: caches not updated for React Native generated files --- .github/workflows/build-ios.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 7f042f36..51cba223 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -83,6 +83,8 @@ jobs: key: ${{ runner.os }}-${{ matrix.use_frameworks }}-pods-${{ hashFiles('**/Podfile.lock', '**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.use_frameworks }}-pods- + - name: Clean generated iOS codegen + run: rm -rf example/ios/build/generated - name: Install Pods working-directory: example run: bun pods @@ -90,10 +92,10 @@ jobs: - name: Restore DerivedData cache uses: actions/cache@v5 with: - path: example/ios/build - key: ${{ runner.os }}-${{ matrix.use_frameworks }}-dd-${{ hashFiles('**/Podfile.lock', '**/Gemfile.lock', '**/package.json', '**/bun.lock') }}-xcode26.2 + path: example/ios/build/DerivedData + key: ${{ runner.os }}-${{ matrix.use_frameworks }}-dd-${{ hashFiles('**/Podfile.lock', '**/Gemfile.lock', '**/package.json', '**/bun.lock') }}-xcode26.5 restore-keys: | - ${{ runner.os }}-${{ matrix.use_frameworks }}-dd- + ${{ runner.os }}-${{ matrix.use_frameworks }}-dd-${{ hashFiles('**/Podfile.lock', '**/Gemfile.lock', '**/package.json', '**/bun.lock') }}-xcode26.5 - name: Build App working-directory: example/ios @@ -101,7 +103,7 @@ jobs: set -o pipefail xcodebuild \ CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \ - -derivedDataPath build -UseModernBuildSystem=YES \ + -derivedDataPath build/DerivedData -UseModernBuildSystem=YES \ -workspace NitroSQLiteExample.xcworkspace \ -scheme NitroSQLiteExample \ -sdk iphonesimulator \ From a4da491fcb5cd4845ecb1f3d08b7d342e30bd8e4 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 1 Jul 2026 12:15:03 +0200 Subject: [PATCH 3/3] chore: update remaining workflows --- .github/workflows/build-android-release.yml | 21 +++++++++++---------- .github/workflows/build-android.yml | 2 +- .github/workflows/build-ios.yml | 2 +- .github/workflows/lint-cpp.yml | 2 +- .github/workflows/lint-typescript.yml | 4 ++-- .github/workflows/update-lockfiles.yml | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-android-release.yml b/.github/workflows/build-android-release.yml index 5bd657dd..1df4b97c 100644 --- a/.github/workflows/build-android-release.yml +++ b/.github/workflows/build-android-release.yml @@ -4,26 +4,29 @@ on: release: types: [published] +permissions: + contents: write + jobs: build: name: Build Android Example App (release) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - name: Install npm dependencies (bun) run: bun install - name: Setup JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "zulu" java-version: 17 java-package: jdk - name: Restore Gradle cache - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: | ~/.gradle/caches @@ -35,14 +38,12 @@ jobs: run: ./gradlew assembleRelease --no-daemon --build-cache - name: Upload APK to Release - uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: example/android/app/build/outputs/apk/release/app-release.apk - asset_name: "NitroSQLiteExample-${{ github.event.release.tag_name }}.apk" - asset_content_type: application/vnd.android.package-archive + run: | + gh release upload "${{ github.event.release.tag_name }}" \ + example/android/app/build/outputs/apk/release/app-release.apk#NitroSQLiteExample-${{ github.event.release.tag_name }}.apk \ + --clobber # Gradle cache doesn't like daemons - name: Stop Gradle Daemon diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index e57b114e..250ef4fa 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -33,7 +33,7 @@ env: jobs: build: name: Build Android Example App - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: min-sdk: diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 51cba223..51a8aa0d 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -34,7 +34,7 @@ env: jobs: build: name: Build iOS Example App - runs-on: macOS-26 + runs-on: macos-26 strategy: matrix: include: diff --git a/.github/workflows/lint-cpp.yml b/.github/workflows/lint-cpp.yml index b9eb97f9..cad789de 100644 --- a/.github/workflows/lint-cpp.yml +++ b/.github/workflows/lint-cpp.yml @@ -23,7 +23,7 @@ on: jobs: lint: name: Format C++ - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 diff --git a/.github/workflows/lint-typescript.yml b/.github/workflows/lint-typescript.yml index 9f0d40ed..2b452c74 100644 --- a/.github/workflows/lint-typescript.yml +++ b/.github/workflows/lint-typescript.yml @@ -34,7 +34,7 @@ on: jobs: tsc: name: Compile TypeScript (tsc) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 @@ -52,7 +52,7 @@ jobs: lint: name: Lint TypeScript (eslint, prettier) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 diff --git a/.github/workflows/update-lockfiles.yml b/.github/workflows/update-lockfiles.yml index 6fd936cc..8b474bfa 100644 --- a/.github/workflows/update-lockfiles.yml +++ b/.github/workflows/update-lockfiles.yml @@ -21,7 +21,7 @@ jobs: update-lockfiles: name: "Update lockfiles (Podfile.lock)" if: github.actor == 'dependabot[bot]' - runs-on: macOS-26 + runs-on: macos-26 steps: - uses: actions/checkout@v6 with: