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
60 changes: 30 additions & 30 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: 'github-actions'
directory: '/'
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: 'daily'
interval: "daily"
labels:
- 'dependencies'
- "dependencies"

- package-ecosystem: 'gradle'
- package-ecosystem: "gradle"
directories:
- '/android/'
- '/example/android/'
- "/android/"
- "/example/android/"
schedule:
interval: 'daily'
interval: "daily"
labels:
- 'nitro-core'
- 'nitrogen'
- 'dependencies'
- 'kotlin'
- "nitro-core"
- "nitrogen"
- "dependencies"
- "kotlin"

- package-ecosystem: 'bundler'
directory: '/example/'
- package-ecosystem: "bundler"
directory: "/example/"
schedule:
interval: 'daily'
interval: "daily"
labels:
- 'dependencies'
- 'ruby'
- "dependencies"
- "ruby"

- package-ecosystem: 'npm'
- package-ecosystem: "npm"
directories:
- '/example/'
- '/'
- "/example/"
- "/"
schedule:
interval: 'daily'
interval: "daily"
labels:
- 'nitro-core'
- 'dependencies'
- 'typescript'
- 'nitrogen'
- "nitro-core"
- "dependencies"
- "typescript"
- "nitrogen"

groups:
react-native-cli:
patterns:
- '@react-native-community/cli*'
- "@react-native-community/cli*"
babel:
patterns:
- '@babel/*'
- "@babel/*"
react-native:
patterns:
- '@react-native/*'
- "@react-native/*"
nitro:
patterns:
- 'nitrogen'
- 'react-native-nitro-modules'
- "nitrogen"
- "react-native-nitro-modules"
90 changes: 53 additions & 37 deletions .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,42 @@ permissions:
on:
push:
branches:
- master
- main
paths:
- '.github/workflows/android-build.yml'
- 'example/android/**'
- 'nitrogen/generated/shared/**'
- 'nitrogen/generated/android/**'
- 'cpp/**'
- 'android/**'
- '**/yarn.lock'
- '**/react-native.config.js'
- '**/nitro.json'
- ".github/workflows/android-build.yml"
- "package.json"
- "example/package.json"
- ".yarnrc.yml"
- "src/**"
- "scripts/**"
- "nitrogen/specs/**"
- "nitro.json"
- "example/android/**"
- "nitrogen/generated/shared/**"
- "nitrogen/generated/android/**"
- "cpp/**"
- "android/**"
- "**/yarn.lock"
- "**/react-native.config.js"
- "**/nitro.json"
pull_request:
paths:
- '.github/workflows/android-build.yml'
- 'example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'cpp/**'
- 'android/**'
- '**/yarn.lock'
- '**/react-native.config.js'
- '**/nitro.json'
- ".github/workflows/android-build.yml"
- "package.json"
- "example/package.json"
- ".yarnrc.yml"
- "src/**"
- "scripts/**"
- "nitrogen/specs/**"
- "nitro.json"
- "example/android/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/android/**"
- "cpp/**"
- "android/**"
- "**/yarn.lock"
- "**/react-native.config.js"
- "**/nitro.json"
workflow_dispatch:

concurrency:
Expand All @@ -39,38 +53,32 @@ jobs:
name: Build Android Example App (New Architecture)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-node@v4
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: '24'
node-version: "24"
cache: yarn

- name: Install dependencies (yarn)
run: yarn install --frozen-lockfile
- name: Enable pinned Yarn
run: corepack enable

- name: Install example dependencies (yarn)
run: cd example && yarn install --frozen-lockfile
- name: Install dependencies (yarn)
run: yarn install --immutable

- name: Generate Nitro modules (codegen)
run: yarn codegen

- name: Setup JDK 21
uses: actions/setup-java@v5
uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0
with:
distribution: zulu
java-version: '21'
cache: gradle
java-version: "21"

- name: Cache Gradle
uses: actions/cache@v4
- name: Configure Gradle cache
uses: gradle/actions/setup-gradle@8da46b539cd8fe6ab27ca75128919a18d757604c # v6.4.1
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
cache-read-only: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }}

- name: Run Gradle build
working-directory: example/android
Expand All @@ -79,3 +87,11 @@ jobs:
- name: Stop Gradle daemon
working-directory: example/android
run: ./gradlew --stop

- name: Upload debug APK
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: sensitive-info-example-android-debug
path: example/android/app/build/outputs/apk/debug/*.apk
if-no-files-found: error
retention-days: 7
120 changes: 67 additions & 53 deletions .github/workflows/ios-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,50 @@ permissions:
on:
push:
branches:
- master
- main
paths:
- '.github/workflows/ios-build.yml'
- 'example/ios/**'
- 'example/Gemfile'
- 'example/Gemfile.lock'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'cpp/**'
- 'ios/**'
- '**/Podfile.lock'
- '**/yarn.lock'
- '**/*.podspec'
- '**/react-native.config.js'
- '**/nitro.json'
- ".github/workflows/ios-build.yml"
- "package.json"
- "example/package.json"
- ".yarnrc.yml"
- "src/**"
- "scripts/**"
- "nitrogen/specs/**"
- "nitro.json"
- "example/ios/**"
- "example/Gemfile"
- "example/Gemfile.lock"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "cpp/**"
- "ios/**"
- "**/Podfile.lock"
- "**/yarn.lock"
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
pull_request:
paths:
- '.github/workflows/ios-build.yml'
- 'example/ios/**'
- 'example/Gemfile'
- 'example/Gemfile.lock'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'cpp/**'
- 'ios/**'
- '**/Podfile.lock'
- '**/yarn.lock'
- '**/*.podspec'
- '**/react-native.config.js'
- '**/nitro.json'
- ".github/workflows/ios-build.yml"
- "package.json"
- "example/package.json"
- ".yarnrc.yml"
- "src/**"
- "scripts/**"
- "nitrogen/specs/**"
- "nitro.json"
- "example/ios/**"
- "example/Gemfile"
- "example/Gemfile.lock"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "cpp/**"
- "ios/**"
- "**/Podfile.lock"
- "**/yarn.lock"
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
workflow_dispatch:

env:
Expand All @@ -50,48 +64,40 @@ jobs:
name: Build iOS Example App (New Architecture)
runs-on: macOS-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: '24'
cache: 'yarn'
node-version: "24"
cache: "yarn"
- name: Enable pinned Yarn
run: corepack enable
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0
with:
xcode-version: 16.4

- name: Install dependencies (yarn)
run: yarn install --frozen-lockfile

- name: Install example dependencies (yarn)
run: cd example && yarn install --frozen-lockfile
run: yarn install --immutable

- name: Generate Nitro modules (codegen)
run: yarn codegen

- name: Setup Ruby (bundle)
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0
with:
ruby-version: '3.4'
ruby-version: "3.4"
bundler-cache: true
working-directory: example/ios

- name: Install xcpretty
run: gem install xcpretty
working-directory: example

- name: Cache CocoaPods
uses: actions/cache@v4
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
~/.cocoapods/repos
example/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
path: example/ios/Pods
key: ${{ runner.os }}-${{ runner.arch }}-pods-xcode-16.4-${{ hashFiles('example/ios/Podfile.lock', 'example/Gemfile.lock', 'package.json', 'example/package.json') }}

- name: Install Pods
working-directory: example/ios
run: pod install
working-directory: example
run: bundle exec pod install --project-directory=ios

- name: Build App
working-directory: example/ios
Expand All @@ -103,6 +109,14 @@ jobs:
-scheme SensitiveInfoExample \
-sdk iphonesimulator \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 17' \
-destination 'generic/platform=iOS Simulator' \
build \
CODE_SIGNING_ALLOWED=NO | xcpretty
CODE_SIGNING_ALLOWED=NO

- name: Upload simulator app
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: sensitive-info-example-ios-simulator
path: example/ios/build/Build/Products/Debug-iphonesimulator/SensitiveInfoExample.app
if-no-files-found: error
retention-days: 7
Loading
Loading