Skip to content

Commit aeaf09a

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

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

.github/workflows/CI_PIPELINE.yml

+16-9
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,35 @@ 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+
37+
- name: Set up Node.js
38+
uses: actions/setup-node@v3
39+
with:
40+
node-version: '20'
41+
42+
- name: Cache dependencies for ${{ matrix.project }}
43+
uses: actions/cache@v3
44+
with:
45+
path: ${{ matrix.project }}/node_modules
46+
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}/yarn.lock', matrix.project)) }}
47+
restore-keys: |
48+
${{ runner.os }}-yarn-
3849
3950
- name: Install Dependencies for ${{ matrix.project }}
40-
if: env.changed == 'true'
4151
run: yarn install
4252
working-directory: ${{ matrix.project }}
4353

4454
- name: Lint ${{ matrix.project }}
45-
if: env.changed == 'true'
4655
run: yarn format-check
4756
working-directory: ${{ matrix.project }}
4857

4958
- name: Build ${{ matrix.project }}
50-
if: env.changed == 'true'
5159
run: yarn build
5260
working-directory: ${{ matrix.project }}
5361

5462
- name: Test ${{ matrix.project }}
55-
if: env.changed == 'true'
5663
run: yarn test
5764
working-directory: ${{ matrix.project }}

0 commit comments

Comments
 (0)