From 4c885c2986f159e9b24c4d8e0db038e0ec497821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=BBelawski?= <40713406+tjzel@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:42:16 +0100 Subject: [PATCH] chore: remove monorepo-check github action (#6824) ## Summary Monorepo setups have become more and more diverse over the years and in turn this workflow barely checks anything while on the other side it's notoriously hard to maintain since so many changes can break it. It's time to move forward. --- ...repo-app-reanimated-build-check-action.yml | 92 ------------------- ...epo-app-reanimated-build-check-nightly.yml | 62 ------------- .../workflows/reanimated-release-checks.yml | 10 +- README.md | 1 - 4 files changed, 2 insertions(+), 163 deletions(-) delete mode 100644 .github/workflows/monorepo-app-reanimated-build-check-action.yml delete mode 100644 .github/workflows/monorepo-app-reanimated-build-check-nightly.yml diff --git a/.github/workflows/monorepo-app-reanimated-build-check-action.yml b/.github/workflows/monorepo-app-reanimated-build-check-action.yml deleted file mode 100644 index 729ef3503f7..00000000000 --- a/.github/workflows/monorepo-app-reanimated-build-check-action.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Monorepo app Reanimated build check [Action] -env: - YARN_ENABLE_IMMUTABLE_INSTALLS: 0 -on: - workflow_call: - inputs: - platform: - required: true - type: string - concurrency_group: - required: true - type: string - is_hoisted: - required: true - type: boolean - -jobs: - build: - if: github.repository == 'software-mansion/react-native-reanimated' - runs-on: ${{ inputs.platform == 'iOS' && 'macos-14' || 'ubuntu-latest' }} - concurrency: - group: ${{ inputs.concurrency_group }} - cancel-in-progress: true - steps: - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '17' - - name: Create directories - run: mkdir -p monorepo/packages - - - name: Setup monorepo - working-directory: monorepo - # TODO: Put Monorepo template into a separate repo/package - run: echo '{"name":"rnos-monorepo-tester","version":"1.0.0","license":"MIT","private":true,"workspaces":{"packages":["RootApp","packages/PackageApp", "AppA", "AppB"],"nohoist":["**/react","**/react-dom","**/react-native","**/react-native/**","**/react-native-codegen","**/react-native-dev-menu"]}}' > package.json - - name: Install dependencies - working-directory: monorepo - run: yarn install - - name: Install React Native CLI - working-directory: monorepo - run: yarn add -W @react-native-community/cli - - name: Create RootApp - working-directory: monorepo - run: yarn rnc-cli init RootApp --skip-install --pm yarn --install-pods false --skip-git-init - - name: Create PackageApp - working-directory: monorepo/packages - run: yarn rnc-cli init PackageApp --skip-install --pm yarn --install-pods false --skip-git-init - - - name: Install dependencies for RootApp - working-directory: monorepo/RootApp - run: yarn install - - name: Install Reanimated for RootApp - working-directory: monorepo/RootApp - run: yarn add github:software-mansion/react-native-reanimated#${{ github.ref }} - - - name: Install dependencies for PackageApp - working-directory: monorepo/packages/PackageApp - run: yarn install - - name: Install Reanimated for PackageApp - working-directory: monorepo/packages/PackageApp - run: yarn add github:software-mansion/react-native-reanimated#${{ github.ref }} - - - name: Setup hoisted Reanimated - if: ${{ inputs.is_hoisted }} - working-directory: monorepo - run: yarn add github:software-mansion/react-native-reanimated#${{ github.ref }} -W - - - name: Install Pods for RootApp - if: ${{ inputs.platform == 'iOS' }} - working-directory: monorepo/RootApp/ios - run: bundle install && bundle exec pod install - - name: Install Pods for PackageApp - if: ${{ inputs.platform == 'iOS' }} - working-directory: monorepo/packages/PackageApp/ios - run: bundle install && bundle exec pod install - - name: Build iOS app RootApp - if: ${{ inputs.platform == 'iOS' }} - working-directory: monorepo/RootApp - run: yarn react-native run-ios --simulator='iPhone 14' --no-packager - - name: Build iOS app PackageApp - if: ${{ inputs.platform == 'iOS' }} - working-directory: monorepo/packages/PackageApp - run: yarn react-native run-ios --simulator='iPhone 14' --no-packager - - name: Build Android RootApp - if: ${{ inputs.platform == 'Android' }} - working-directory: monorepo/RootApp/android - run: ./gradlew assembleDebug --console=plain - - name: Build Android PackageApp - if: ${{ inputs.platform == 'Android' }} - working-directory: monorepo/packages/PackageApp/android - run: ./gradlew assembleDebug --console=plain diff --git a/.github/workflows/monorepo-app-reanimated-build-check-nightly.yml b/.github/workflows/monorepo-app-reanimated-build-check-nightly.yml deleted file mode 100644 index 0181d46b266..00000000000 --- a/.github/workflows/monorepo-app-reanimated-build-check-nightly.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Monorepo app Reanimated build check [Nightly] -on: - pull_request: - paths: - - .github/workflows/monorepo-app-reanimated-build-check-nightly.yml - - .github/workflows/monorepo-app-reanimated-build-check-action.yml - - RNReanimated.podspec - - packages/react-native-reanimated/scripts/reanimated_utils.rb - - packages/react-native-reanimated/android/build.gradle - merge_group: - branches: - - main - push: - branches: - - main - paths: - - .github/workflows/monorepo-app-reanimated-build-check-nightly.yml - - .github/workflows/monorepo-app-reanimated-build-check-action.yml - - packages/react-native-reanimated/RNReanimated.podspec - - packages/react-native-reanimated/scripts/reanimated_utils.rb - - packages/react-native-reanimated/android/build.gradle - schedule: - - cron: '37 19 * * *' # at 21:37 every day - workflow_call: - workflow_dispatch: - -jobs: - build_android_reanimated_non_hoisted: - if: github.repository == 'software-mansion/react-native-reanimated' - name: Android (non-hoisted Reanimated) - uses: ./.github/workflows/monorepo-app-reanimated-build-check-action.yml - with: - platform: Android - concurrency_group: build_monorepo_android_in_app_reanimated-${{ github.ref }} - is_hoisted: false - - build_ios_reanimated_non_hoisted: - if: github.repository == 'software-mansion/react-native-reanimated' - name: iOS (non-hoisted Reanimated) - uses: ./.github/workflows/monorepo-app-reanimated-build-check-action.yml - with: - platform: iOS - concurrency_group: build_monorepo_ios_in_app_reanimated-${{ github.ref }} - is_hoisted: false - - build_android_reanimated_hoisted: - if: github.repository == 'software-mansion/react-native-reanimated' - name: Android (hoisted Reanimated) - uses: ./.github/workflows/monorepo-app-reanimated-build-check-action.yml - with: - platform: Android - concurrency_group: build_monorepo_android_reanimated_hoisted-${{ github.ref }} - is_hoisted: true - - build_ios_reanimated_hoisted: - if: github.repository == 'software-mansion/react-native-reanimated' - name: iOS (hoisted Reanimated) - uses: ./.github/workflows/monorepo-app-reanimated-build-check-action.yml - with: - platform: iOS - concurrency_group: build_monorepo_ios_reanimated_hoisted-${{ github.ref }} - is_hoisted: true diff --git a/.github/workflows/reanimated-release-checks.yml b/.github/workflows/reanimated-release-checks.yml index 90c3c6c5acc..aee5c02f5cf 100644 --- a/.github/workflows/reanimated-release-checks.yml +++ b/.github/workflows/reanimated-release-checks.yml @@ -2,10 +2,10 @@ name: Reanimated release checks on: pull_request: branches: - - "[0-9]+.[0-9]+-stable" + - '[0-9]+.[0-9]+-stable' push: branches: - - "[0-9]+.[0-9]+-stable" + - '[0-9]+.[0-9]+-stable' workflow_call: workflow_dispatch: @@ -50,11 +50,6 @@ jobs: name: Example Typescript check and lint uses: ./.github/workflows/example-typescript-check-and-lint.yml - monorepo_app_reanimated_build_check_nightly: - if: github.repository == 'software-mansion/react-native-reanimated' - name: Monorepo app Reanimated build check [Nightly] - uses: ./.github/workflows/monorepo-app-reanimated-build-check-nightly.yml - reanimated_android_validation: if: github.repository == 'software-mansion/react-native-reanimated' name: Reanimated Android validation @@ -104,4 +99,3 @@ jobs: if: github.repository == 'software-mansion/react-native-reanimated' name: Yarn validation uses: ./.github/workflows/yarn-validation.yml - diff --git a/README.md b/README.md index d7d5b17a312..a795540afbb 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,6 @@ gesture-based interactions. [![NPM Reanimated publish nightly](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-reanimated-publish-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/npm-reanimated-publish-nightly.yml) [![Reanimated compatibility check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/reanimated-compatibility-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/reanimated-compatibility-check-nightly.yml) -[![Monorepo app Reanimated build check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/monorepo-app-reanimated-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/monorepo-app-reanimated-build-check-nightly.yml) [![Static framework Reanimated build check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/static-framework-reanimated-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/static-framework-reanimated-build-check-nightly.yml) [![React Native nightly Reanimated build check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/react-native-nightly-reanimated-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/react-native-nightly-reanimated-build-check-nightly.yml) [![Expo DevClient build check](https://github.com/software-mansion/react-native-reanimated/actions/workflows/expo-devclient-build-check-nightly.yml/badge.svg)](https://github.com/software-mansion/react-native-reanimated/actions/workflows/expo-devclient-build-check-nightly.yml)