Skip to content

Commit 045b1c8

Browse files
committed
ci: refactor actions and pin them to sha
1 parent 480f640 commit 045b1c8

10 files changed

Lines changed: 187 additions & 276 deletions

File tree

.github/actions/setup/action.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Setup
2+
description: Setup Node.js and install dependencies
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Setup Node.js
8+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
9+
with:
10+
node-version-file: .nvmrc
11+
12+
- name: Restore dependencies
13+
id: yarn-cache
14+
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae
15+
with:
16+
path: |
17+
**/node_modules
18+
.yarn/install-state.gz
19+
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }}
20+
restore-keys: |
21+
${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
22+
${{ runner.os }}-yarn-
23+
24+
- name: Install dependencies
25+
if: steps.yarn-cache.outputs.cache-hit != 'true'
26+
run: yarn install --immutable
27+
shell: bash
28+
29+
- name: Cache dependencies
30+
if: steps.yarn-cache.outputs.cache-hit != 'true'
31+
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae
32+
with:
33+
path: |
34+
**/node_modules
35+
.yarn/install-state.gz
36+
key: ${{ steps.yarn-cache.outputs.cache-primary-key }}

.github/workflows/ci.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
lint:
11+
name: Lint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
16+
17+
- name: Setup
18+
uses: ./.github/actions/setup
19+
20+
- name: Lint
21+
run: yarn lint-no-fix
22+
23+
typescript:
24+
name: TypeScript
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29+
30+
- name: Setup
31+
uses: ./.github/actions/setup
32+
33+
- name: Check types
34+
run: yarn typescript
35+
36+
unit-tests:
37+
name: Unit tests
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42+
43+
- name: Setup
44+
uses: ./.github/actions/setup
45+
46+
- name: Restore Jest cache
47+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
48+
with:
49+
path: ./cache/jest
50+
key: jest-cache-${{ github.ref_name }}
51+
restore-keys: jest-cache-
52+
53+
- name: Run unit tests
54+
run: yarn test --maxWorkers=2 --coverage
55+
56+
- name: Upload coverage
57+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
58+
if: always()
59+
with:
60+
name: coverage
61+
path: coverage
62+
63+
build-package:
64+
name: Build package
65+
runs-on: ubuntu-latest
66+
steps:
67+
- name: Checkout
68+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
69+
70+
- name: Setup
71+
uses: ./.github/actions/setup
72+
73+
- name: Build package
74+
run: |
75+
yarn prepack
76+
node ./scripts/typescript-output-lint
77+
78+
build-docs:
79+
name: Build docs
80+
if: github.event_name == 'pull_request'
81+
runs-on: ubuntu-latest
82+
steps:
83+
- name: Checkout
84+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
85+
86+
- name: Setup
87+
uses: ./.github/actions/setup
88+
89+
- name: Build docs
90+
run: yarn --cwd docs build
91+
92+
- name: Upload docs
93+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
94+
with:
95+
name: docs
96+
path: docs/build

.github/workflows/deploy-docs.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Deploy docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
deploy:
19+
name: Deploy docs
20+
runs-on: ubuntu-latest
21+
environment:
22+
name: github-pages
23+
url: ${{ steps.deployment.outputs.page_url }}
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27+
28+
- name: Setup
29+
uses: ./.github/actions/setup
30+
31+
- name: Build docs
32+
run: yarn --cwd docs build
33+
34+
- name: Configure Pages
35+
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
36+
37+
- name: Upload Pages artifact
38+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
39+
with:
40+
path: docs/build
41+
42+
- name: Deploy to GitHub Pages
43+
id: deployment
44+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0

.github/workflows/publish-each-pr.yml

Lines changed: 0 additions & 93 deletions
This file was deleted.

.github/workflows/semantic-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
name: Validate PR title
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: amannn/action-semantic-pull-request@91682d013dea3ff257520b9b68c9cb93ced4fe9b # v4.5.0
9+
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
1010
env:
1111
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1212
with:

.github/workflows/stale.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@ on:
55
- cron: '30 1 * * *'
66

77
permissions:
8-
contents: read
98
issues: write
109
pull-requests: write
1110

1211
jobs:
1312
stale:
1413
runs-on: ubuntu-latest
1514
steps:
16-
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
15+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
1716
with:
1817
repo-token: ${{ secrets.GITHUB_TOKEN }}
1918
days-before-stale: 30

.github/workflows/triage.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ jobs:
1212
runs-on: ubuntu-latest
1313
if: github.event.label.name == 'needs more info'
1414
steps:
15-
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
16-
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
15+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
16+
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
1717
with:
1818
github-token: ${{ secrets.GITHUB_TOKEN }}
1919
script: |
@@ -40,8 +40,8 @@ jobs:
4040
runs-on: ubuntu-latest
4141
if: github.event.label.name == 'needs repro'
4242
steps:
43-
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
44-
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
43+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
44+
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
4545
with:
4646
github-token: ${{ secrets.GITHUB_TOKEN }}
4747
script: |

.github/workflows/updates.yml

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,44 +10,18 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
13+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1414

15-
- name: Setup Node.js
16-
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
17-
with:
18-
node-version-file: .nvmrc
15+
- name: Setup
16+
uses: ./.github/actions/setup
1917

2018
- name: Setup Expo
21-
uses: expo/expo-github-action@d300b960e9f91a8c59b2aaca92e89ad70b0785ac # v7
19+
uses: expo/expo-github-action@c7b66a9c327a43a8fa7c0158e7f30d6040d2481e # v8.2.1
2220
with:
2321
expo-version: latest
2422
eas-version: latest
2523
token: ${{ secrets.EXPO_TOKEN }}
2624

27-
- name: Restore dependencies
28-
id: yarn-cache
29-
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4
30-
with:
31-
path: '**/node_modules'
32-
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }}
33-
restore-keys: |
34-
${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
35-
${{ runner.os }}-yarn-
36-
37-
- name: Install dependencies
38-
if: steps.yarn-cache.outputs.cache-hit != 'true'
39-
run: |
40-
sudo corepack enable
41-
yarn --cwd example --immutable
42-
yarn --immutable
43-
44-
- name: Cache dependencies
45-
if: steps.yarn-cache.outputs.cache-hit != 'true'
46-
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4
47-
with:
48-
path: '**/node_modules'
49-
key: ${{ steps.yarn-cache.outputs.cache-primary-key }}
50-
5125
- name: Publish Expo app update
5226
working-directory: ./example
5327
run: eas update --auto

.github/workflows/versions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
if: ${{ github.event.label.name == 'bug' }}
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: react-navigation/check-versions-action@deac0a153b834fdda425028be69b2cf786dacc31 # v1.1.0
15+
- uses: react-navigation/check-versions-action@1f7edac18020a4dc38c4d174bb04311b196f9b75 # v1.2.2
1616
with:
1717
github-token: ${{ secrets.GITHUB_TOKEN }}
1818
required-packages: |

0 commit comments

Comments
 (0)