Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/BUG_REPORT_NITRO_CORE.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ body:
attributes:
label: Can you reproduce this issue in the Nitro Example app here?
description: >
Try to build the example app (`example/`) and see if the issue is reproduceable here.
Try to build the example app (`apps/example/`) and see if the issue is reproduceable here.
**Note:** If you don't try this in the example app, I most likely won't help you with your issue.
options:
- I didn't try (⚠️ your issue might get ignored & closed if you don't try this)
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/BUILD_ERROR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ body:
attributes:
label: Can you build the Nitro Modules Example app?
description: >
Try to build the example app (`example/`) and see if the issue is reproduceable here.
Try to build the example app (`apps/example/`) and see if the issue is reproduceable here.
**Note:** If you don't try to build the example app, I most likely won't help you with your issue.
options:
- I didn't try (⚠️ your issue might get ignored & closed if you don't try this)
Expand Down
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ updates:
- "/packages/react-native-nitro-test/android/"
- "/packages/react-native-nitro-test-external/android/"
- "/packages/template/android/"
- "/example/android/"
- "/apps/example/android/"
schedule:
interval: "daily"
labels:
Expand Down Expand Up @@ -47,7 +47,7 @@ updates:
- "/packages/react-native-nitro-test/"
- "/packages/react-native-nitro-test-external/"
- "/packages/template/"
- "/example/"
- "/apps/example/"
schedule:
interval: "daily"
labels:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build-android-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
java-package: jdk

- name: Set minSdk in build.gradle to 26
run: sed -i "s/minSdkVersion = 24/minSdkVersion = 26/g" example/android/build.gradle
run: sed -i "s/minSdkVersion = 24/minSdkVersion = 26/g" apps/example/android/build.gradle

- name: Run Gradle Build for example/android/
working-directory: example/android
- name: Run Gradle Build for apps/example/android/
working-directory: apps/example/android
run: |
./gradlew clean :app:assembleRelease --no-daemon --no-build-cache

Expand All @@ -39,11 +39,11 @@ jobs:
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_path: apps/example/android/app/build/outputs/apk/release/app-release.apk
asset_name: "NitroExample-${{ github.event.release.tag_name }}.apk"
asset_content_type: application/vnd.android.package-archive

# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
working-directory: example/android
working-directory: apps/example/android
run: ./gradlew --stop
16 changes: 8 additions & 8 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- main
paths:
- '.github/workflows/build-android.yml'
- 'example/android/**'
- 'apps/example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'packages/react-native-nitro-test/cpp/**'
Expand All @@ -21,7 +21,7 @@ on:
pull_request:
paths:
- '.github/workflows/build-android.yml'
- 'example/android/**'
- 'apps/example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'packages/react-native-nitro-test/cpp/**'
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
run: bun install

- name: Set minSdk in build.gradle
run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" example/android/build.gradle
run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" apps/example/android/build.gradle

- name: Setup JDK 17
uses: actions/setup-java@v5.7.0
Expand All @@ -70,17 +70,17 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
example/android/.gradle
example/android/app/.cxx
apps/example/android/.gradle
apps/example/android/app/.cxx
key: ${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.TARGET_ANDROID_ARCH }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.TARGET_ANDROID_ARCH }}-
${{ runner.os }}-gradle-
- name: Run Gradle Build for example/android/
working-directory: example/android
- name: Run Gradle Build for apps/example/android/
working-directory: apps/example/android
run: ./gradlew :app:assembleDebug --no-daemon --build-cache -PreactNativeArchitectures=${{ env.TARGET_ANDROID_ARCH }}

# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
working-directory: example/android
working-directory: apps/example/android
run: ./gradlew --stop
10 changes: 5 additions & 5 deletions .github/workflows/build-ios-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
working-directory: example
working-directory: apps/example

- name: Select Xcode 26.5
run: sudo xcode-select -s "/Applications/Xcode_26.5.app/Contents/Developer"
- name: Install Pods
working-directory: example
working-directory: apps/example
run: bun pods

- name: Build App (Release, Simulator)
working-directory: example/ios
working-directory: apps/example/ios
run: |
set -o pipefail
xcodebuild \
Expand All @@ -50,8 +50,8 @@ jobs:

- name: Package .app for Simulator
run: |
cd example/ios/build/Build/Products/Release-iphonesimulator
zip -r ../../../../../../NitroExample-Release-Simulator.zip NitroExample.app
cd apps/example/ios/build/Build/Products/Release-iphonesimulator
zip -r "$GITHUB_WORKSPACE/NitroExample-Release-Simulator.zip" NitroExample.app

- name: Upload .app to Release
uses: actions/upload-release-asset@v1
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/build-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- main
paths:
- '.github/workflows/build-ios.yml'
- 'example/ios/**'
- 'apps/example/ios/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'packages/react-native-nitro-test/cpp/**'
Expand All @@ -22,7 +22,7 @@ on:
pull_request:
paths:
- '.github/workflows/build-ios.yml'
- 'example/ios/**'
- 'apps/example/ios/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'packages/react-native-nitro-test/cpp/**'
Expand Down Expand Up @@ -81,32 +81,32 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
working-directory: example
working-directory: apps/example

- name: Select Xcode ${{ env.XCODE_VERSION }}
run: sudo xcode-select -s "/Applications/Xcode_${{ env.XCODE_VERSION }}.app/Contents/Developer"

- name: Restore Pods cache
uses: actions/cache@v6
with:
path: example/ios/Pods
key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
path: apps/example/ios/Pods
key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-
- name: Install Pods
working-directory: example
working-directory: apps/example
run: bun pods

- name: Restore DerivedData cache
uses: actions/cache@v6
with:
path: example/ios/build
key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
path: apps/example/ios/build
key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-

- name: Build App
working-directory: example/ios
working-directory: apps/example/ios
run: |
set -o pipefail
xcodebuild \
Expand Down
40 changes: 20 additions & 20 deletions .github/workflows/harness-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
- main
paths:
- ".github/workflows/harness-android.yml"
- "example/android/**"
- "apps/example/android/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/android/**"
- "packages/react-native-nitro-test/cpp/**"
Expand All @@ -40,16 +40,16 @@ on:
- "**/bun.lock"
- "**/react-native.config.js"
- "**/nitro.json"
- "example/__tests__/**"
- "example/src/getTests.ts"
- "example/src/testing/**"
- "example/jest.harness.config.mjs"
- "example/package.json"
- "example/rn-harness.config.mjs"
- "apps/example/__tests__/**"
- "apps/example/src/getTests.ts"
- "apps/example/src/testing/**"
- "apps/example/jest.harness.config.mjs"
- "apps/example/package.json"
- "apps/example/rn-harness.config.mjs"
pull_request:
paths:
- ".github/workflows/harness-android.yml"
- "example/android/**"
- "apps/example/android/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/android/**"
- "packages/react-native-nitro-test/cpp/**"
Expand All @@ -62,12 +62,12 @@ on:
- "**/bun.lock"
- "**/react-native.config.js"
- "**/nitro.json"
- "example/__tests__/**"
- "example/src/getTests.ts"
- "example/src/testing/**"
- "example/jest.harness.config.mjs"
- "example/package.json"
- "example/rn-harness.config.mjs"
- "apps/example/__tests__/**"
- "apps/example/src/getTests.ts"
- "apps/example/src/testing/**"
- "apps/example/jest.harness.config.mjs"
- "apps/example/package.json"
- "apps/example/rn-harness.config.mjs"

env:
# Device configuration - can be overridden by workflow_dispatch inputs
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
run: bun install

- name: Set minSdk in build.gradle
run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" example/android/build.gradle
run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" apps/example/android/build.gradle

- name: Setup JDK 17
uses: actions/setup-java@v5.7.0
Expand All @@ -126,25 +126,25 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
example/android/.gradle
example/android/app/.cxx
apps/example/android/.gradle
apps/example/android/app/.cxx
key: ${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.DEVICE_ARCH }}-${{ matrix.sanitizer.name }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.DEVICE_ARCH }}-${{ matrix.sanitizer.name }}-
${{ runner.os }}-gradle-
- name: Build Android app
working-directory: example/android
working-directory: apps/example/android
run: ./gradlew :app:assembleDebug --no-daemon --build-cache -PreactNativeArchitectures=${{ env.DEVICE_ARCH }} -PnitroSanitizer=${{ matrix.sanitizer.gradle_property }}

- name: Run Harness E2E tests
uses: callstackincubator/react-native-harness@v1.4.1
with:
runner: android
projectRoot: example
projectRoot: apps/example
app: android/app/build/outputs/apk/debug/app-debug.apk
packageManager: bun

# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
working-directory: example/android
working-directory: apps/example/android
run: ./gradlew --stop
44 changes: 22 additions & 22 deletions .github/workflows/harness-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
- main
paths:
- ".github/workflows/harness-ios.yml"
- "example/ios/**"
- "apps/example/ios/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "packages/react-native-nitro-test/cpp/**"
Expand All @@ -42,16 +42,16 @@ on:
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
- "example/__tests__/**"
- "example/src/getTests.ts"
- "example/src/testing/**"
- "example/jest.harness.config.mjs"
- "example/package.json"
- "example/rn-harness.config.mjs"
- "apps/example/__tests__/**"
- "apps/example/src/getTests.ts"
- "apps/example/src/testing/**"
- "apps/example/jest.harness.config.mjs"
- "apps/example/package.json"
- "apps/example/rn-harness.config.mjs"
pull_request:
paths:
- ".github/workflows/harness-ios.yml"
- "example/ios/**"
- "apps/example/ios/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "packages/react-native-nitro-test/cpp/**"
Expand All @@ -66,12 +66,12 @@ on:
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
- "example/__tests__/**"
- "example/src/getTests.ts"
- "example/src/testing/**"
- "example/jest.harness.config.mjs"
- "example/package.json"
- "example/rn-harness.config.mjs"
- "apps/example/__tests__/**"
- "apps/example/src/getTests.ts"
- "apps/example/src/testing/**"
- "apps/example/jest.harness.config.mjs"
- "apps/example/package.json"
- "apps/example/rn-harness.config.mjs"

env:
# Device configuration - can be overridden by workflow_dispatch inputs
Expand Down Expand Up @@ -124,32 +124,32 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
working-directory: example
working-directory: apps/example

- name: Select Xcode ${{ env.XCODE_VERSION }}
run: sudo xcode-select -s "/Applications/Xcode_${{ env.XCODE_VERSION }}.app/Contents/Developer"

- name: Restore Pods cache
uses: actions/cache@v6
with:
path: example/ios/Pods
key: ${{ runner.os }}-${{ runner.arch }}-pods-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
path: apps/example/ios/Pods
key: ${{ runner.os }}-${{ runner.arch }}-pods-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-pods-
- name: Install Pods
working-directory: example
working-directory: apps/example
run: bun pods

- name: Restore DerivedData cache
uses: actions/cache@v6
with:
path: example/ios/build
key: ${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
path: apps/example/ios/build
key: ${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-

- name: Build iOS app
working-directory: example/ios
working-directory: apps/example/ios
run: |
set -o pipefail
CLANG="$(xcrun -f clang)"
Expand All @@ -176,6 +176,6 @@ jobs:
uses: callstackincubator/react-native-harness@v1.4.1
with:
runner: ios
projectRoot: example
projectRoot: apps/example
app: ios/build/Build/Products/Debug-iphonesimulator/NitroExample.app
packageManager: bun
Loading
Loading