Skip to content

Set up CI for bob / rn compatibility matrix and handle non-standard codegen output dirs #26

Set up CI for bob / rn compatibility matrix and handle non-standard codegen output dirs

Set up CI for bob / rn compatibility matrix and handle non-standard codegen output dirs #26

Workflow file for this run

name: Compat
on:
schedule:
- cron: "0 0 * * *" # Once a day at midnight
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
integration-tests-generation:
strategy:
matrix:
runner:
- macos-latest
- ubuntu-latest
bob-version:
- 0.42.2
- 0.42.3
- latest
rn-version:
- 0.76.0
- latest
runs-on: ${{ matrix.runner }}
name: "bob ${{ matrix.bob-version }} / rn ${{ matrix.rn-version }} / ${{ matrix.runner == 'macos-latest' && 'ios' || 'android' }}"
steps:
- uses: actions/checkout@v4
- name: Install cargo-ndk
if: ${{ matrix.runner != 'macos-latest' }}
run: |
cargo install cargo-ndk
- name: Install JDK
if: ${{ matrix.runner != 'macos-latest' }}
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "17"
- name: Install Rust toolchains
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.runner == 'macos-latest' && 'aarch64-apple-ios-sim' || 'aarch64-linux-android' }}
- name: Generate & build turbo module
run: |
./scripts/test-turbo-modules.sh \
--slug '@my-org/my-lib' \
--ubrn-config integration/fixtures/compat/ubrn.config.yaml \
--builder-bob-version ${{ matrix.bob-version }} \
--rn-version ${{ matrix.rn-version }} \
--packgage-json-mixin integration/fixtures/compat/package.json \
--react-native-config integration/fixtures/compat/react-native.config.js \
--${{ matrix.runner == 'macos-latest' && 'ios' || 'android' }} \
../turbo-module