Skip to content

Commit 5662825

Browse files
committed
config: yarn 캐싱 적용 #48
변경사항이 없다면 워크플로우 종료
1 parent bd4cb95 commit 5662825

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

.github/workflows/CI_PIPELINE.yml

+17-9
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,36 @@ jobs:
3030
- name: Check for changes in ${{ matrix.project }}
3131
id: changes
3232
run: |
33-
if git diff --name-only origin/$BASE_BRANCH HEAD | grep -q "^${{ matrix.project }}/"; then
34-
echo "changed=true" >> $GITHUB_ENV
35-
else
36-
echo "changed=false" >> $GITHUB_ENV
37-
fi
33+
if ! git diff --name-only origin/$BASE_BRANCH HEAD | grep -q "^${{ matrix.project }}/"; then
34+
echo "No changes in ${{ matrix.project }}, exiting job."
35+
exit 0
36+
fi
37+
38+
- name: Set up Node.js
39+
uses: actions/setup-node@v3
40+
with:
41+
node-version: '20'
42+
43+
- name: Cache dependencies for ${{ matrix.project }}
44+
uses: actions/cache@v3
45+
with:
46+
path: ${{ matrix.project }}/node_modules
47+
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}/yarn.lock', matrix.project)) }}
48+
restore-keys: |
49+
${{ runner.os }}-yarn-
3850
3951
- name: Install Dependencies for ${{ matrix.project }}
40-
if: env.changed == 'true'
4152
run: yarn install
4253
working-directory: ${{ matrix.project }}
4354

4455
- name: Lint ${{ matrix.project }}
45-
if: env.changed == 'true'
4656
run: yarn format-check
4757
working-directory: ${{ matrix.project }}
4858

4959
- name: Build ${{ matrix.project }}
50-
if: env.changed == 'true'
5160
run: yarn build
5261
working-directory: ${{ matrix.project }}
5362

5463
- name: Test ${{ matrix.project }}
55-
if: env.changed == 'true'
5664
run: yarn test
5765
working-directory: ${{ matrix.project }}

0 commit comments

Comments
 (0)