From 9d0a85387237954e2e3542cbfab49336ff825e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:37:45 +0100 Subject: [PATCH 01/13] init --- .../check-expo-dev-client-action.yml | 89 +++++++++++++++++++ .../check-expo-dev-client-nightly.yml | 84 +++-------------- 2 files changed, 101 insertions(+), 72 deletions(-) create mode 100644 .github/workflows/check-expo-dev-client-action.yml diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml new file mode 100644 index 00000000000..c73bcd9ff45 --- /dev/null +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -0,0 +1,89 @@ +name: Check Expo dev-client nightly build +on: + pull_request: + paths: + - .github/workflows/check-expo-dev-client-action.yml + - .github/workflows/check-expo-dev-client-nightly.yml + - .github/workflows/helper/configureDevClient.js + workflow_dispatch: + inputs: + expo-dev-client-dist-tag: + required: true + type: string + +env: + SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js + +jobs: + build_ios: + if: github.repository == 'software-mansion/react-native-reanimated' + runs-on: macos-12 + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }} + cancel-in-progress: true + steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 + with: + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricIOS + - name: Install Pods + working-directory: app/ios + run: pod install + - name: Build app + working-directory: app + run: yarn react-native run-ios --simulator='iPhone 14' + + build_android: + if: github.repository == 'software-mansion/react-native-reanimated' + runs-on: ubuntu-latest + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }} + cancel-in-progress: true + steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 + with: + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid + - name: Build app + working-directory: app/android + run: ./gradlew assembleDebug --console=plain diff --git a/.github/workflows/check-expo-dev-client-nightly.yml b/.github/workflows/check-expo-dev-client-nightly.yml index fb204b9ec79..b6951879cc2 100644 --- a/.github/workflows/check-expo-dev-client-nightly.yml +++ b/.github/workflows/check-expo-dev-client-nightly.yml @@ -7,79 +7,19 @@ on: - cron: '0 0 * * *' # after publishing new nightly version on NPM workflow_dispatch: -env: - SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js - jobs: - build_ios: - if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: macos-12 - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{ github.ref }} - cancel-in-progress: true - steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 - with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@next - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricIOS - - name: Install Pods - working-directory: app/ios - run: pod install - - name: Build app - working-directory: app - run: yarn react-native run-ios --simulator='iPhone 14' - - build_android: - if: github.repository == 'software-mansion/react-native-reanimated' + check-expo-dev-client-next-availability: runs-on: ubuntu-latest - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{ github.ref }} - cancel-in-progress: true steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 + - name: Check Expo dev-client next availability + run: npm dist-tag ls expo-dev-client | grep next + id: check-next-availability + - name: Run next build + if: steps.check-next-availability.outcome == 'success' + uses: ./.github/workflows/check-expo-dev-client-action.yml + with: + expo_dev_client_version: next + - name: Run latest build + uses: ./.github/workflows/check-expo-dev-client-action.yml with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@next - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid - - name: Build app - working-directory: app/android - run: ./gradlew assembleDebug --console=plain + expo_dev_client_version: latest From 752fae82ecbeea6913137dc5793f0bd21ddefc58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:44:44 +0100 Subject: [PATCH 02/13] conitnue --- .github/workflows/check-expo-dev-client-nightly.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/check-expo-dev-client-nightly.yml b/.github/workflows/check-expo-dev-client-nightly.yml index b6951879cc2..56678f8c4b9 100644 --- a/.github/workflows/check-expo-dev-client-nightly.yml +++ b/.github/workflows/check-expo-dev-client-nightly.yml @@ -12,6 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check Expo dev-client next availability + continue-on-error: true run: npm dist-tag ls expo-dev-client | grep next id: check-next-availability - name: Run next build From c7a228e465101790685e3912b42e0a74ab9077d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:51:16 +0100 Subject: [PATCH 03/13] moar --- .github/check-expo-dev-client-action.yml | 15 +++ .../check-expo-dev-client-action.yml | 89 ------------------ .../check-expo-dev-client-nightly.yml | 94 +++++++++++++++---- .github/workflows/check-expo-dev-client.yml | 21 +++++ 4 files changed, 112 insertions(+), 107 deletions(-) create mode 100644 .github/check-expo-dev-client-action.yml delete mode 100644 .github/workflows/check-expo-dev-client-action.yml create mode 100644 .github/workflows/check-expo-dev-client.yml diff --git a/.github/check-expo-dev-client-action.yml b/.github/check-expo-dev-client-action.yml new file mode 100644 index 00000000000..df7caeb8fca --- /dev/null +++ b/.github/check-expo-dev-client-action.yml @@ -0,0 +1,15 @@ +name: Check Expo dev-client nightly build +on: + pull_request: + paths: + - .github/workflows/check-expo-dev-client-action.yml + - .github/workflows/check-expo-dev-client-nightly.yml + - .github/workflows/check-expo-dev-client.yml + schedule: + - cron: '0 0 * * *' # after publishing new nightly version on NPM + workflow_dispatch: + +jobs: + call-check-expo-dev-client-workflow: + if: github.repository == 'software-mansion/react-native-reanimated' + uses: ./.github/workflows/check-expo-dev-client.yml diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml deleted file mode 100644 index c73bcd9ff45..00000000000 --- a/.github/workflows/check-expo-dev-client-action.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Check Expo dev-client nightly build -on: - pull_request: - paths: - - .github/workflows/check-expo-dev-client-action.yml - - .github/workflows/check-expo-dev-client-nightly.yml - - .github/workflows/helper/configureDevClient.js - workflow_dispatch: - inputs: - expo-dev-client-dist-tag: - required: true - type: string - -env: - SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js - -jobs: - build_ios: - if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: macos-12 - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }} - cancel-in-progress: true - steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 - with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricIOS - - name: Install Pods - working-directory: app/ios - run: pod install - - name: Build app - working-directory: app - run: yarn react-native run-ios --simulator='iPhone 14' - - build_android: - if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: ubuntu-latest - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }} - cancel-in-progress: true - steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 - with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid - - name: Build app - working-directory: app/android - run: ./gradlew assembleDebug --console=plain diff --git a/.github/workflows/check-expo-dev-client-nightly.yml b/.github/workflows/check-expo-dev-client-nightly.yml index 56678f8c4b9..2b34322a4b2 100644 --- a/.github/workflows/check-expo-dev-client-nightly.yml +++ b/.github/workflows/check-expo-dev-client-nightly.yml @@ -1,26 +1,84 @@ name: Check Expo dev-client nightly build on: - pull_request: - paths: - - .github/workflows/check-expo-dev-client-nightly.yml - schedule: - - cron: '0 0 * * *' # after publishing new nightly version on NPM workflow_dispatch: + inputs: + expo-dev-client-dist-tag: + required: true + type: string + +env: + SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js jobs: - check-expo-dev-client-next-availability: - runs-on: ubuntu-latest + build_ios: + if: github.repository == 'software-mansion/react-native-reanimated' + runs-on: macos-12 + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }} + cancel-in-progress: true steps: - - name: Check Expo dev-client next availability - continue-on-error: true - run: npm dist-tag ls expo-dev-client | grep next - id: check-next-availability - - name: Run next build - if: steps.check-next-availability.outcome == 'success' - uses: ./.github/workflows/check-expo-dev-client-action.yml + - name: Check out reanimated repository + uses: actions/checkout@v4 with: - expo_dev_client_version: next - - name: Run latest build - uses: ./.github/workflows/check-expo-dev-client-action.yml + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricIOS + - name: Install Pods + working-directory: app/ios + run: pod install + - name: Build app + working-directory: app + run: yarn react-native run-ios --simulator='iPhone 14' + + build_android: + if: github.repository == 'software-mansion/react-native-reanimated' + runs-on: ubuntu-latest + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }} + cancel-in-progress: true + steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 with: - expo_dev_client_version: latest + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid + - name: Build app + working-directory: app/android + run: ./gradlew assembleDebug --console=plain diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml new file mode 100644 index 00000000000..73b595c96ce --- /dev/null +++ b/.github/workflows/check-expo-dev-client.yml @@ -0,0 +1,21 @@ +name: Check Expo dev-client nightly build +on: + workflow_dispatch: + +jobs: + check-expo-dev-client-next-availability: + runs-on: ubuntu-latest + steps: + - name: Check Expo dev-client next availability + continue-on-error: true + run: npm dist-tag ls expo-dev-client | grep next + id: check-next-availability + - name: Run next build + if: steps.check-next-availability.outcome == 'success' + uses: ./.github/workflows/check-expo-dev-client-action.yml + with: + expo_dev_client_version: next + - name: Run latest build + uses: ./.github/workflows/check-expo-dev-client-action.yml + with: + expo_dev_client_version: latest From 3fe22ce92c1ee2d032e36911f28f833d2dd8a9ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:52:46 +0100 Subject: [PATCH 04/13] move --- .github/{ => workflows}/check-expo-dev-client-action.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/check-expo-dev-client-action.yml (100%) diff --git a/.github/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml similarity index 100% rename from .github/check-expo-dev-client-action.yml rename to .github/workflows/check-expo-dev-client-action.yml From 5d699bd6320424c907d2e5a97ecc88ecaa477ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:55:05 +0100 Subject: [PATCH 05/13] agagin --- .github/workflows/check-expo-dev-client-action.yml | 4 ++-- .github/workflows/check-expo-dev-client.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index df7caeb8fca..a7e0ee5f6d6 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -11,5 +11,5 @@ on: jobs: call-check-expo-dev-client-workflow: - if: github.repository == 'software-mansion/react-native-reanimated' - uses: ./.github/workflows/check-expo-dev-client.yml + if: github.repository == 'software-mansion/react-native-reanimated' + uses: ./.github/workflows/check-expo-dev-client.yml diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml index 73b595c96ce..c3fe64e8ff4 100644 --- a/.github/workflows/check-expo-dev-client.yml +++ b/.github/workflows/check-expo-dev-client.yml @@ -1,6 +1,6 @@ name: Check Expo dev-client nightly build on: - workflow_dispatch: + workflow_call: jobs: check-expo-dev-client-next-availability: From 2ffb4ec49900c385c7aebc6aff0fafbfb3aeb633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 16:58:46 +0100 Subject: [PATCH 06/13] swap --- .../check-expo-dev-client-action.yml | 87 +++++++++++++++++-- .../check-expo-dev-client-nightly.yml | 87 ++----------------- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index a7e0ee5f6d6..2b34322a4b2 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -1,15 +1,84 @@ name: Check Expo dev-client nightly build on: - pull_request: - paths: - - .github/workflows/check-expo-dev-client-action.yml - - .github/workflows/check-expo-dev-client-nightly.yml - - .github/workflows/check-expo-dev-client.yml - schedule: - - cron: '0 0 * * *' # after publishing new nightly version on NPM workflow_dispatch: + inputs: + expo-dev-client-dist-tag: + required: true + type: string + +env: + SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js jobs: - call-check-expo-dev-client-workflow: + build_ios: + if: github.repository == 'software-mansion/react-native-reanimated' + runs-on: macos-12 + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }} + cancel-in-progress: true + steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 + with: + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricIOS + - name: Install Pods + working-directory: app/ios + run: pod install + - name: Build app + working-directory: app + run: yarn react-native run-ios --simulator='iPhone 14' + + build_android: if: github.repository == 'software-mansion/react-native-reanimated' - uses: ./.github/workflows/check-expo-dev-client.yml + runs-on: ubuntu-latest + strategy: + matrix: + react-native-architecture: ['Paper', 'Fabric'] + fail-fast: false + concurrency: + group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }} + cancel-in-progress: true + steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 + with: + path: 'reanimated_repo' + - name: Create Expo app + run: npx create-expo-app app + - name: Install expo-dev-client + working-directory: app + run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} + - name: Setup configuration + run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier + - name: Expo prebuild + working-directory: app + run: npx expo prebuild + - name: Install Reanimated + working-directory: app + run: npm install react-native-reanimated@nightly + - name: Set Fabric + if: ${{ matrix.react-native-architecture == 'Fabric' }} + run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid + - name: Build app + working-directory: app/android + run: ./gradlew assembleDebug --console=plain diff --git a/.github/workflows/check-expo-dev-client-nightly.yml b/.github/workflows/check-expo-dev-client-nightly.yml index 2b34322a4b2..a7e0ee5f6d6 100644 --- a/.github/workflows/check-expo-dev-client-nightly.yml +++ b/.github/workflows/check-expo-dev-client-nightly.yml @@ -1,84 +1,15 @@ name: Check Expo dev-client nightly build on: + pull_request: + paths: + - .github/workflows/check-expo-dev-client-action.yml + - .github/workflows/check-expo-dev-client-nightly.yml + - .github/workflows/check-expo-dev-client.yml + schedule: + - cron: '0 0 * * *' # after publishing new nightly version on NPM workflow_dispatch: - inputs: - expo-dev-client-dist-tag: - required: true - type: string - -env: - SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js jobs: - build_ios: - if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: macos-12 - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }} - cancel-in-progress: true - steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 - with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricIOS - - name: Install Pods - working-directory: app/ios - run: pod install - - name: Build app - working-directory: app - run: yarn react-native run-ios --simulator='iPhone 14' - - build_android: + call-check-expo-dev-client-workflow: if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: ubuntu-latest - strategy: - matrix: - react-native-architecture: ['Paper', 'Fabric'] - fail-fast: false - concurrency: - group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }} - cancel-in-progress: true - steps: - - name: Check out reanimated repository - uses: actions/checkout@v4 - with: - path: 'reanimated_repo' - - name: Create Expo app - run: npx create-expo-app app - - name: Install expo-dev-client - working-directory: app - run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }} - - name: Setup configuration - run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier - - name: Expo prebuild - working-directory: app - run: npx expo prebuild - - name: Install Reanimated - working-directory: app - run: npm install react-native-reanimated@nightly - - name: Set Fabric - if: ${{ matrix.react-native-architecture == 'Fabric' }} - run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid - - name: Build app - working-directory: app/android - run: ./gradlew assembleDebug --console=plain + uses: ./.github/workflows/check-expo-dev-client.yml From 4aee5d9dd8338c5c71866d0187dee5e918f89222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:00:55 +0100 Subject: [PATCH 07/13] ? --- .github/workflows/check-expo-dev-client.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml index c3fe64e8ff4..b5f6997d5dc 100644 --- a/.github/workflows/check-expo-dev-client.yml +++ b/.github/workflows/check-expo-dev-client.yml @@ -6,6 +6,8 @@ jobs: check-expo-dev-client-next-availability: runs-on: ubuntu-latest steps: + - name: Check out reanimated repository + uses: actions/checkout@v4 - name: Check Expo dev-client next availability continue-on-error: true run: npm dist-tag ls expo-dev-client | grep next From c40a92d41cebbab65afc1e29611db2943ce62de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:04:54 +0100 Subject: [PATCH 08/13] fix? --- .github/workflows/check-expo-dev-client-action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index 2b34322a4b2..fa649bab01e 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -1,6 +1,6 @@ name: Check Expo dev-client nightly build on: - workflow_dispatch: + workflow_call: inputs: expo-dev-client-dist-tag: required: true From b110b33d55c01f2dc05387a6534cc1a2f60c7324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:14:01 +0100 Subject: [PATCH 09/13] ?? --- .github/workflows/check-expo-dev-client.yml | 34 +++++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml index b5f6997d5dc..e28aeda1da6 100644 --- a/.github/workflows/check-expo-dev-client.yml +++ b/.github/workflows/check-expo-dev-client.yml @@ -1,23 +1,37 @@ name: Check Expo dev-client nightly build on: workflow_call: + workflow_dispatch: jobs: check-expo-dev-client-next-availability: runs-on: ubuntu-latest steps: - name: Check out reanimated repository - uses: actions/checkout@v4 + uses: actions/checkout@v3 - name: Check Expo dev-client next availability - continue-on-error: true - run: npm dist-tag ls expo-dev-client | grep next id: check-next-availability - - name: Run next build - if: steps.check-next-availability.outcome == 'success' - uses: ./.github/workflows/check-expo-dev-client-action.yml - with: - expo_dev_client_version: next - - name: Run latest build + run: | + if npm dist-tag ls expo-dev-client | grep next + then + echo "::set-output name=status::true" + else + echo "::set-output name=status::false" + fi + outputs: + hasNext: ${{ steps.check-next-availability.outputs.status }} + + check-expo-dev-client-next: + needs: check-expo-dev-client-next-availability + if: needs.check-expo-dev-client-next-availability.outputs.hasNext == 'true' + runs-on: ubuntu-latest + steps: + - name: Using next version of expo-dev-client uses: ./.github/workflows/check-expo-dev-client-action.yml with: - expo_dev_client_version: latest + expo-dev-client-dist-tag: next + + check-expo-dev-client-latest: + uses: ./.github/workflows/check-expo-dev-client-action.yml + with: + expo-dev-client-dist-tag: latest From 18d35bcf6ea870957b269f3e8fcf18e4c2c61303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:14:41 +0100 Subject: [PATCH 10/13] this --- .github/workflows/check-expo-dev-client.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml index e28aeda1da6..4890544c384 100644 --- a/.github/workflows/check-expo-dev-client.yml +++ b/.github/workflows/check-expo-dev-client.yml @@ -24,12 +24,9 @@ jobs: check-expo-dev-client-next: needs: check-expo-dev-client-next-availability if: needs.check-expo-dev-client-next-availability.outputs.hasNext == 'true' - runs-on: ubuntu-latest - steps: - - name: Using next version of expo-dev-client - uses: ./.github/workflows/check-expo-dev-client-action.yml - with: - expo-dev-client-dist-tag: next + uses: ./.github/workflows/check-expo-dev-client-action.yml + with: + expo-dev-client-dist-tag: next check-expo-dev-client-latest: uses: ./.github/workflows/check-expo-dev-client-action.yml From a0e9676646f6f851bdf6add107ba129ccd16b327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:19:56 +0100 Subject: [PATCH 11/13] =?UTF-8?q?=C5=BCawa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check-expo-dev-client-action.yml | 5 +++++ .github/workflows/check-expo-dev-client.yml | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index fa649bab01e..74a97b052ce 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -63,6 +63,11 @@ jobs: uses: actions/checkout@v4 with: path: 'reanimated_repo' + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' - name: Create Expo app run: npx create-expo-app app - name: Install expo-dev-client diff --git a/.github/workflows/check-expo-dev-client.yml b/.github/workflows/check-expo-dev-client.yml index 4890544c384..65d0b295b57 100644 --- a/.github/workflows/check-expo-dev-client.yml +++ b/.github/workflows/check-expo-dev-client.yml @@ -7,8 +7,6 @@ jobs: check-expo-dev-client-next-availability: runs-on: ubuntu-latest steps: - - name: Check out reanimated repository - uses: actions/checkout@v3 - name: Check Expo dev-client next availability id: check-next-availability run: | From f68d7d4325a355f71a856f6bb01e7ed104cb850c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:29:01 +0100 Subject: [PATCH 12/13] remove simulaor idk --- .github/workflows/check-expo-dev-client-action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index 74a97b052ce..8bfe9bfac37 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -46,7 +46,7 @@ jobs: run: pod install - name: Build app working-directory: app - run: yarn react-native run-ios --simulator='iPhone 14' + run: npx react-native run-ios build_android: if: github.repository == 'software-mansion/react-native-reanimated' From e35f0f8c8cd9a64f3e453a9f7e13b18016cd2c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= Date: Mon, 29 Jan 2024 17:35:12 +0100 Subject: [PATCH 13/13] idk --- .github/workflows/check-expo-dev-client-action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-expo-dev-client-action.yml b/.github/workflows/check-expo-dev-client-action.yml index 8bfe9bfac37..e7970190105 100644 --- a/.github/workflows/check-expo-dev-client-action.yml +++ b/.github/workflows/check-expo-dev-client-action.yml @@ -46,7 +46,7 @@ jobs: run: pod install - name: Build app working-directory: app - run: npx react-native run-ios + run: npx react-native run-ios --terminal terminal build_android: if: github.repository == 'software-mansion/react-native-reanimated'