Skip to content

feat(windows): add New Architecture support #97

feat(windows): add New Architecture support

feat(windows): add New Architecture support #97

Workflow file for this run

name: Default storage
on:
pull_request:
jobs:
changes:
name: report changed files
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.filter.outputs.storage }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
token: ${{ secrets.GH_RELEASE_TOKEN }}
filters: |
storage:
- 'packages/default-storage/**'
android:
name: Android
needs: changes
if: ${{ needs.changes.outputs.changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup project
uses: ./.github/actions/setup-project
- name: Install JS dependencies
run: |
yarn
- name: Test Next Storage
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
arguments: react-native-async-storage_async-storage:test
build-root-directory: packages/default-storage/example/android
- name: Build e2e binary
run: |
yarn build:e2e:android
working-directory: packages/default-storage
ios:
name: iOS
needs: changes
if: ${{ needs.changes.outputs.changed == 'true' }}
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup project
uses: ./.github/actions/setup-project
- name: Cache /.ccache
uses: actions/cache@v3
with:
path: packages/default-storage/.ccache
key: ccache-ios-${{ hashFiles('yarn.lock') }}
restore-keys: ccache-ios-
- name: Install JS dependencies
run: |
yarn
- name: Bundle JS
run: |
yarn bundle:ios
working-directory: packages/default-storage
- name: Install Pods
run: |
RCT_NEW_ARCH_ENABLED=1 pod install
working-directory: packages/default-storage/example/ios
- name: Build e2e binary
run: |
yarn build:e2e:ios
working-directory: packages/default-storage
macos:
name: macOS
needs: changes
if: ${{ needs.changes.outputs.changed == 'true' }}
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup project
uses: ./.github/actions/setup-project
- name: Cache /.ccache
uses: actions/cache@v3
with:
path: packages/default-storage/.ccache
key: ccache-macos-${{ hashFiles('yarn.lock') }}
restore-keys: ccache-macos-
- name: Install JS dependencies
run: |
yarn
- name: Bundle JS
run: |
yarn bundle:macos
working-directory: packages/default-storage
- name: Install Pods
run: |
RCT_NEW_ARCH_ENABLED=1 pod install
working-directory: packages/default-storage/example/macos
- name: Build
run: |
yarn build:e2e:macos
working-directory: packages/default-storage
- name: Test
if: false
run: |
yarn test:e2e:macos
working-directory: packages/default-storage
windows:
name: Windows
needs: changes
if: ${{ needs.changes.outputs.changed == 'true' }}
runs-on: windows-2022
steps:
- name: Set up MSBuild
uses: microsoft/setup-msbuild@v1.3
- name: Setup VSTest.console.exe
uses: darenm/Setup-VSTest@v1.2
- name: Checkout
uses: actions/checkout@v4
- name: Setup project
uses: ./.github/actions/setup-project
with:
windows-fix: true
- name: Install JS dependencies
run: |
yarn
- name: Install Windows test app
run: |
yarn install-windows-test-app -p example/windows
working-directory: packages/default-storage
- name: Build
run: |
yarn react-native run-windows --release --arch x64 --logging --no-packager --no-launch --no-deploy --msbuildprops "BundleEntryFile=index.ts,UseBundle=false" --no-telemetry
working-directory: packages/default-storage