Skip to content

Commit 5800efd

Browse files
committed
update actions
1 parent e205737 commit 5800efd

File tree

4 files changed

+61
-77
lines changed

4 files changed

+61
-77
lines changed

Diff for: .github/actions/setup-project/action.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Setup project
2+
description: Install required tools
3+
inputs:
4+
node-version:
5+
required: false
6+
description: node version to install
7+
default: 20.10.0 # is already cached in Ubuntu 22.04 runner
8+
runs:
9+
using: composite
10+
steps:
11+
- name: Enable corepack
12+
shell: bash
13+
run: |
14+
corepack enable
15+
yarn --version
16+
- uses: actions/setup-node@v4
17+
with:
18+
node-version: ${{ inputs.node-version }}
19+
cache: "yarn"

Diff for: .github/workflows/ci.yml renamed to .github/workflows/default-storage.yml

+37-66
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,35 @@
1-
name: CI
1+
name: default-storage
22
on:
33
push:
44
branches:
55
- main
66
pull_request:
77
jobs:
8-
format:
9-
name: Format
8+
changes:
9+
name: report changed files
1010
runs-on: ubuntu-latest
11+
outputs:
12+
changed: ${{ steps.filter.outputs.storage }}
1113
steps:
12-
- name: Checkout
13-
uses: actions/checkout@v3
14-
- name: Set up Node.js
15-
uses: actions/setup-node@v3.6.0
16-
with:
17-
node-version: 18.16.1
18-
cache: yarn
19-
- name: Install JS dependencies
20-
run: yarn
21-
- name: Format
22-
run: |
23-
yarn format
24-
git diff --exit-code
25-
review:
26-
name: Review
27-
runs-on: ubuntu-latest
28-
strategy:
29-
matrix:
30-
test-name: [lint, ts]
31-
workspace: [default-storage, api]
32-
steps:
33-
- name: Checkout
34-
uses: actions/checkout@v3
35-
- name: Set up Node.js
36-
uses: actions/setup-node@v3.6.0
14+
- uses: actions/checkout@4
15+
- uses: dorny/paths-filter@v3
16+
id: filter
3717
with:
38-
node-version: 18.16.1
39-
cache: yarn
40-
- name: Install JS dependencies
41-
run: yarn
42-
- name: Run test ${{ matrix.test-name }}
43-
run: yarn test:${{ matrix.test-name }}
44-
working-directory: packages/${{ matrix.workspace }}
18+
token: ${{ secrets.GH_RELEASE_TOKEN }}
19+
filters: |
20+
storage:
21+
- 'packages/default-storage'
22+
4523
android:
4624
name: Android
25+
needs: changes
26+
if: ${{ needs.changes.outputs.changed == 'true' }}
4727
runs-on: ubuntu-22.04
4828
steps:
4929
- name: Checkout
50-
uses: actions/checkout@v3
51-
- name: Set up Node.js
52-
uses: actions/setup-node@v3.6.0
53-
with:
54-
node-version: 18.16.1
55-
cache: yarn
30+
uses: actions/checkout@v4
31+
- name: Setup project
32+
uses: ./.github/actions/setup-project
5633
- name: Install JS dependencies
5734
run: |
5835
yarn
@@ -69,21 +46,20 @@ jobs:
6946

7047
ios:
7148
name: iOS
49+
needs: changes
50+
if: ${{ needs.changes.outputs.changed == 'true' }}
7251
runs-on: macos-latest
7352
steps:
7453
- name: Checkout
75-
uses: actions/checkout@v3
54+
uses: actions/checkout@v4
55+
- name: Setup project
56+
uses: ./.github/actions/setup-project
7657
- name: Cache /.ccache
7758
uses: actions/cache@v3
7859
with:
7960
path: packages/default-storage/.ccache
8061
key: ccache-ios-${{ hashFiles('yarn.lock') }}
8162
restore-keys: ccache-ios-
82-
- name: Set up Node.js
83-
uses: actions/setup-node@v3.6.0
84-
with:
85-
node-version: 18.16.1
86-
cache: yarn
8763
- name: Install JS dependencies
8864
run: |
8965
yarn
@@ -102,21 +78,20 @@ jobs:
10278

10379
macos:
10480
name: macOS
81+
needs: changes
82+
if: ${{ needs.changes.outputs.changed == 'true' }}
10583
runs-on: macos-latest
10684
steps:
10785
- name: Checkout
108-
uses: actions/checkout@v3
86+
uses: actions/checkout@v4
87+
- name: Setup project
88+
uses: ./.github/actions/setup-project
10989
- name: Cache /.ccache
11090
uses: actions/cache@v3
11191
with:
11292
path: packages/default-storage/.ccache
11393
key: ccache-macos-${{ hashFiles('yarn.lock') }}
11494
restore-keys: ccache-macos-
115-
- name: Set up Node.js
116-
uses: actions/setup-node@v3.6.0
117-
with:
118-
node-version: 18.16.1
119-
cache: yarn
12095
- name: Install JS dependencies
12196
run: |
12297
yarn
@@ -140,19 +115,18 @@ jobs:
140115

141116
windows:
142117
name: Windows
118+
needs: changes
119+
if: ${{ needs.changes.outputs.changed == 'true' }}
143120
runs-on: windows-2022
144121
steps:
145122
- name: Set up MSBuild
146123
uses: microsoft/setup-msbuild@v1.3
147124
- name: Setup VSTest.console.exe
148125
uses: darenm/Setup-VSTest@v1.2
149126
- name: Checkout
150-
uses: actions/checkout@v3
151-
- name: Set up Node.js
152-
uses: actions/setup-node@v3.6.0
153-
with:
154-
node-version: 18.16.1
155-
cache: yarn
127+
uses: actions/checkout@v4
128+
- name: Setup project
129+
uses: ./.github/actions/setup-project
156130
- name: Install JS dependencies
157131
run: |
158132
yarn
@@ -167,19 +141,16 @@ jobs:
167141

168142
release:
169143
name: Release
170-
needs: [format, review, android, ios, macos, windows]
144+
needs: [android, ios, macos, windows]
171145
if: github.event_name == 'push'
172146
runs-on: ubuntu-22.04
173147
steps:
174148
- name: Checkout
175-
uses: actions/checkout@v3
149+
uses: actions/checkout@v4
176150
with:
177151
persist-credentials: false
178-
- name: Set up Node.js
179-
uses: actions/setup-node@v3.6.0
180-
with:
181-
node-version: 18.16.1
182-
cache: yarn
152+
- name: Setup project
153+
uses: ./.github/actions/setup-project
183154
- name: Install JS dependencies
184155
run: |
185156
yarn

Diff for: .github/workflows/pull-request.yml

+2-5
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,8 @@ jobs:
1111
steps:
1212
- name: Checkout
1313
uses: actions/checkout@v4
14-
- name: Set up Node.js
15-
uses: actions/setup-node@v4
16-
with:
17-
node-version: 20.11.1
18-
cache: yarn
14+
- name: Setup project
15+
uses: ./.github/actions/setup-project
1916
- name: Install dependencies
2017
run: yarn
2118
- name: test ${{ matrix.test-name }}

Diff for: .github/workflows/website-deployment.yml

+3-6
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ jobs:
1313

1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v3
17-
- name: Cache/restore dependencies
18-
uses: actions/cache@v3
19-
with:
20-
path: .yarn
21-
key: website-${{ hashFiles('yarn.lock') }}
16+
uses: actions/checkout@v4
17+
- name: Setup project
18+
uses: ./.github/actions/setup-project
2219
- name: Install dependencies
2320
run: yarn
2421
working-directory: ./packages/website

0 commit comments

Comments
 (0)