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 0aedf89f..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: @@ -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 @@ -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 \ 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 f1506400..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: @@ -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