diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 5dabf6bb4..f71591099 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -2,9 +2,11 @@ name: Test iOS build on: pull_request: paths: - - .github/workflows/ios-build.yml - - Example/package.json - - Example/ios/** + - .github/workflows/build-ios.yml + - RNLiveMarkdown.podspec + - ios/** + - example/package.json + - example/ios/** merge_group: branches: - main @@ -12,42 +14,49 @@ on: branches: - main paths: - - .github/workflows/ios-build.yml - - Example/package.json - - Example/ios/** + - .github/workflows/build-ios.yml + - RNLiveMarkdown.podspec + - ios/** + - example/package.json + - example/ios/** jobs: - build_ios: - runs-on: macos-12 + build: + if: github.repository == 'Expensify/react-native-live-markdown' + runs-on: macos-13 strategy: - matrix: {dir: ['example']} + matrix: + working-directory: [example] + fail-fast: false + concurrency: + group: ios-${{ matrix.working-directory }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Check out Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: Install app node_modules - working-directory: ${{ matrix.dir }} - run: yarn install --frozen-lockfile + - name: Install node_modules + run: yarn install --immutable - name: Restore Pods from cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | - ${{ matrix.dir }}/ios/Pods + ${{ matrix.working-directory }}/ios/Pods ~/Library/Caches/CocoaPods ~/.cocoapods - key: ${{ runner.os }}-pods-${{ matrix.dir }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.dir)) }} + key: ${{ runner.os }}-pods-${{ matrix.working-directory }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.working-directory)) }} - name: Install Pods - working-directory: ${{ matrix.dir }}/ios - run: pod install + working-directory: ${{ matrix.working-directory }}/ios + run: bundler install && bundler exec pod install - name: Restore build artifacts from cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/Library/Developer/Xcode/DerivedData - key: ${{ runner.os }}-ios-derived-data-${{ matrix.dir }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.dir)) }} + key: ${{ runner.os }}-ios-derived-data-${{ matrix.working-directory }}-${{ hashFiles(format('{0}/ios/Podfile.lock', matrix.working-directory)) }} - name: Build app - working-directory: ${{ matrix.dir }} - run: npx react-native run-ios + working-directory: ${{ matrix.working-directory }} + run: npx react-native run-ios --no-packager