From dfbeda217ffad30a4ceeb2e1671a712eda47afc8 Mon Sep 17 00:00:00 2001 From: Adrian Castro <22133246+castdrian@users.noreply.github.com> Date: Sat, 23 Mar 2024 14:19:49 +0100 Subject: [PATCH] feat: github actions cache --- .github/workflows/build-mobile-comment.yml | 35 ++++++++++++++++++++++ .github/workflows/build-mobile.yml | 35 ++++++++++++++++++++++ .github/workflows/release-mobile.yml | 35 ++++++++++++++++++++++ 3 files changed, 105 insertions(+) diff --git a/.github/workflows/build-mobile-comment.yml b/.github/workflows/build-mobile-comment.yml index 27363fa..557cbb6 100644 --- a/.github/workflows/build-mobile-comment.yml +++ b/.github/workflows/build-mobile-comment.yml @@ -25,6 +25,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: 21 + cache: 'pnpm' - uses: pnpm/action-setup@v3 name: Install pnpm @@ -41,9 +42,27 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Gradle Wrapper + uses: actions/cache@v4 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + + - name: Cache Gradle Dependencies + uses: actions/cache@v4 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + - name: Build Android app run: cd apps/expo && pnpm apk @@ -70,10 +89,14 @@ jobs: with: xcode-version: "15.1.0" + - name: Update xcbeautify + run: brew upgrade xcbeautify + - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 21 + cache: 'pnpm' - uses: pnpm/action-setup@v3 name: Install pnpm @@ -81,9 +104,21 @@ jobs: version: 8 run_install: false + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Pods + uses: actions/cache@v4 + with: + path: ./apps/expo/ios/Pods + key: ${{ runner.os }}-pods-${{ hashFiles('apps/expo/ios/Podfile.lock') }} + - name: Build iOS app run: cd apps/expo && pnpm ipa diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml index 0d21089..452ad11 100644 --- a/.github/workflows/build-mobile.yml +++ b/.github/workflows/build-mobile.yml @@ -21,6 +21,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: 21 + cache: "pnpm" - uses: pnpm/action-setup@v3 name: Install pnpm @@ -37,9 +38,27 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Gradle Wrapper + uses: actions/cache@v4 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + + - name: Cache Gradle Dependencies + uses: actions/cache@v4 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + - name: Build Android app run: cd apps/expo && pnpm apk @@ -61,10 +80,14 @@ jobs: with: xcode-version: "15.1.0" + - name: Update xcbeautify + run: brew upgrade xcbeautify + - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 21 + cache: "pnpm" - uses: pnpm/action-setup@v3 name: Install pnpm @@ -72,9 +95,21 @@ jobs: version: 8 run_install: false + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Pods + uses: actions/cache@v4 + with: + path: ./apps/expo/ios/Pods + key: ${{ runner.os }}-pods-${{ hashFiles('apps/expo/ios/Podfile.lock') }} + - name: Build iOS app run: cd apps/expo && pnpm ipa diff --git a/.github/workflows/release-mobile.yml b/.github/workflows/release-mobile.yml index c0a0a3e..04cc9c5 100644 --- a/.github/workflows/release-mobile.yml +++ b/.github/workflows/release-mobile.yml @@ -45,6 +45,7 @@ jobs: uses: actions/setup-node@v4 with: node-version: 21 + cache: "pnpm" - uses: pnpm/action-setup@v3 name: Install pnpm @@ -61,9 +62,27 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Gradle Wrapper + uses: actions/cache@v4 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + + - name: Cache Gradle Dependencies + uses: actions/cache@v4 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + - name: Build Android app run: cd apps/expo && pnpm apk @@ -89,10 +108,14 @@ jobs: with: xcode-version: "15.1.0" + - name: Update xcbeautify + run: brew upgrade xcbeautify + - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 21 + cache: "pnpm" - uses: pnpm/action-setup@v3 name: Install pnpm @@ -100,9 +123,21 @@ jobs: version: 8 run_install: false + - name: Cache Node Modules + uses: actions/cache@v4 + with: + path: '**/node_modules' + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install dependencies run: pnpm install + - name: Cache Pods + uses: actions/cache@v4 + with: + path: ./apps/expo/ios/Pods + key: ${{ runner.os }}-pods-${{ hashFiles('apps/expo/ios/Podfile.lock') }} + - name: Build iOS app run: cd apps/expo && pnpm ipa