mikehardy/buildcache-action

Is this action working with yukiarrr/ios-build-action@v1.4.0

yjose opened this issue ยท 1 comments

yjose commented

Hey @mikehardy, thank you for the great work on this action ๐Ÿ™

I would like to know if this action is supposed to work with yukiarrr/ios-build-action as I didn't see any time reduction after integrating it with our workflow

Here is the complete workflow :

name: IOS Build

on:
  workflow_dispatch:
  release:
    types: [published]

jobs:
  ios-build:
    name: IOS Build
    runs-on: macOS-latest
    defaults:
      run:
        working-directory: ios

    steps:
      - name: Cancel Previous Runs
        uses: styfle/cancel-workflow-action@0.9.1
        with:
          access_token: ${{ github.token }}
      - name: Check out Git repository
        uses: actions/checkout@v2

      - name: Get yarn cache directory path
        id: yarn-cache-dir-path
        run: echo "::set-output name=dir::$(yarn cache dir)"
      - name: Restore node_modules from cache
        uses: actions/cache@v2
        id: yarn-cache
        with:
          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-
      - name: Install dependencies
        run: yarn install --frozen-lockfile --network-timeout 300000

      - name: Restore buildcache
        uses: mikehardy/buildcache-action@v1
        continue-on-error: true

      - name: Setup Ruby (bundle)
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 2.6
          bundler-cache: true

      - name: Restore Pods cache
        uses: actions/cache@v2
        with:
          path: |
            ios/Pods
            ~/Library/Caches/CocoaPods
            ~/.cocoapods
          key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}
          restore-keys: |
            ${{ runner.os }}-pods-
      - name: Install Pods
        run: yarn setup:ios

      - name: Build IOS App
        uses: yukiarrr/ios-build-action@v1.4.0
        with:
          project-path: ios/TestApp.xcodeproj
          p12-base64: ${{ secrets.P12_BASE64 }}
          mobileprovision-base64: ${{ secrets.MOBILEPROVISION_BASE64 }}
          code-signing-identity: 'iPhone Distribution'
          team-id: ${{ secrets.TEAM_ID }}
          certificate-password: ${{ secrets.CERTIFICATE_PASSWORD }}
          workspace-path: ios/TestApp.xcworkspace

      - name: Upload Artifact
        uses: actions/upload-artifact@v2
        with:
          name: Test IOS IPA
          path: 'output.ipa'

      - name: 'Upload app to TestFlight'
        uses: apple-actions/upload-testflight-build@v1
        with:
          app-path: 'output.ipa'
          issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }}
          api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }}
          api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }}

Need to mention that I am seeing a warning message at the end related to mikehardy/buildcache-action@v1
buildcache: unable to delete buildcache.log Error: ENOENT: no such file or directory, unlink '/Users/runner/work/test-mobile/test-mobile/.buildcache/buildcache.log'

I have no experience with this other action and won't have time to troubleshoot it for you. I imagine that one uses fully pathed calls to the compiler so it's not working though, examine the Podfile change I use in react-native-firebase tests ios podfile, could work