|
8 | 8 | if: github.event.pull_request.head.repo.full_name == 'callstack/react-native-paper'
|
9 | 9 | steps:
|
10 | 10 | - name: Checkout
|
11 |
| - uses: actions/checkout@v1 |
| 11 | + uses: actions/checkout@v4 |
12 | 12 |
|
13 | 13 | - name: Setup Node.js
|
14 |
| - uses: actions/setup-node@v1 |
| 14 | + uses: actions/setup-node@v4 |
15 | 15 | with:
|
16 |
| - node-version: 16.x |
| 16 | + node-version: 18.x |
17 | 17 |
|
18 | 18 | - name: Setup Expo
|
19 | 19 | uses: expo/expo-github-action@v7
|
20 | 20 | with:
|
21 | 21 | eas-version: latest
|
22 | 22 | token: ${{ secrets.EXPO_TOKEN }}
|
23 | 23 |
|
24 |
| - - name: Get yarn cache |
| 24 | + - name: Restore dependencies |
25 | 25 | id: yarn-cache
|
26 |
| - run: echo "::set-output name=dir::$(yarn cache dir)" |
27 |
| - |
28 |
| - - name: Check yarn cache |
29 |
| - uses: actions/cache@v1 |
| 26 | + uses: actions/cache/restore@v4 |
30 | 27 | with:
|
31 |
| - path: ${{ steps.yarn-cache.outputs.dir }} |
32 |
| - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} |
| 28 | + path: '**/node_modules' |
| 29 | + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }} |
33 | 30 | restore-keys: |
|
| 31 | + ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} |
34 | 32 | ${{ runner.os }}-yarn-
|
35 | 33 |
|
36 | 34 | - name: Install dependencies
|
37 |
| - run: yarn |
| 35 | + if: steps.yarn-cache.outputs.cache-hit != 'true' |
| 36 | + run: | |
| 37 | + sudo corepack enable |
| 38 | + yarn --cwd example --immutable |
| 39 | + yarn --cwd docs --immutable |
| 40 | + yarn --immutable |
| 41 | +
|
| 42 | + - name: Cache dependencies |
| 43 | + if: steps.yarn-cache.outputs.cache-hit != 'true' |
| 44 | + uses: actions/cache/save@v4 |
| 45 | + with: |
| 46 | + path: '**/node_modules' |
| 47 | + key: ${{ steps.yarn-cache.outputs.cache-primary-key }} |
38 | 48 |
|
39 | 49 | - name: Publish Expo app
|
40 | 50 | working-directory: ./example
|
|
0 commit comments