ํ์ฌ integration.yml, deploy.yml์๋ ์บ์๊ฐ ์ ํ ์์ด ๋งค ์คํ๋ง๋ค ์์กด์ฑ ์ค์นยท๋ธ๋ผ์ฐ์ ๋ค์ด๋ก๋ยทVite ๋ฒ๋ค์ ์ฒ์๋ถํฐ ๋ฐ๋ณตํ๊ณ ์์ต๋๋ค.
์ฝํ
์ธ /๋ค์ด์ด๊ทธ๋จ/์ปดํฌ๋ํธ๊ฐ ๋์ด๋ ์๋ก CI ์๊ฐ์ด ์ ํ์ผ๋ก ์ฆ๊ฐํ๋ฏ๋ก, ํ๋ ์์ํฌ ๋ณ๊ฒฝ ์์ด actions/cache๋ก ๋ฏธ๋ฆฌ ๋๋นํฉ๋๋ค.
โ ๊ด๋ จ: #89 (Astro ๋ง์ด๊ทธ๋ ์ด์
๊ฒํ ), #90 (loader cache ๋
ผ์)
โ OG ์ด๋ฏธ์ง ์บ์(public/og)๋ preview.yml์ ์ด๋ฏธ ์ ์ฉ๋์ด ์์ด ์ด ์ด์ ๋ฒ์์์ ์ ์ธํฉ๋๋ค.
์์กด์ฑ ์บ์
bun install ๊ฒฐ๊ณผ๋ฅผ ์บ์ํฉ๋๋ค. key๊ฐ bun.lock ํด์๋ผ lockfile์ด ๋ฐ๋ ๋๋ง ๋ฌดํจํ๋์ด ์ ํฉ์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ธ ์ํฌํ๋ก์ฐ ์ด๋์๋ ์๋, ๊ฐ์ฅ
๊ธฐ๋ณธ์ด์ ํจ๊ณผ๊ฐ ํฐ ์บ์์
๋๋ค.
- uses: oven-sh/setup-bun@v2
- uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
Playwright ๋ธ๋ผ์ฐ์ ์บ์
rehype-mermaid๊ฐ ๋ค์ด์ด๊ทธ๋จ ๋ ๋์ ์ฌ์ฉํ๋ ํค๋๋ฆฌ์ค ๋ธ๋ผ์ฐ์ ๋ค์ด๋ก๋๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. ๋ค์ด์ด๊ทธ๋จ์ ํฌํจํ ๊ธ์ด ๋์ด๋๋ฉด ์ด ๋ค์ด๋ก๋ ๋น์ฉ์ด
์ปค์ง๋๋ค.
- uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('bun.lock') }}
Vite ๋น๋ ์บ์
node_modules/.vite์ ์ฌ์ ๋ฒ๋ค(pre-bundle) ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. RR7 ์คํ์์ Astro loader cache์ ๊ฐ๋
์ ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณ์ธต์ผ๋ก, ์์กด์ฑ์ด๋ ๋น๋
์ค์ ์ด ๊ทธ๋๋ก๋ฉด ์ฌ๋ฒ๋ค์ ๊ฑด๋๋๋๋ค.
- uses: actions/cache@v4
with:
path: node_modules/.vite
key: vite-${{ runner.os }}-${{ hashFiles('bun.lock', 'vite.config.ts') }}
restore-keys: vite-${{ runner.os }}-
์ ์ฉ ๋์
- ๋์: integration.yml, deploy.yml
ํ์ฌ integration.yml, deploy.yml์๋ ์บ์๊ฐ ์ ํ ์์ด ๋งค ์คํ๋ง๋ค ์์กด์ฑ ์ค์นยท๋ธ๋ผ์ฐ์ ๋ค์ด๋ก๋ยทVite ๋ฒ๋ค์ ์ฒ์๋ถํฐ ๋ฐ๋ณตํ๊ณ ์์ต๋๋ค.
์ฝํ ์ธ /๋ค์ด์ด๊ทธ๋จ/์ปดํฌ๋ํธ๊ฐ ๋์ด๋ ์๋ก CI ์๊ฐ์ด ์ ํ์ผ๋ก ์ฆ๊ฐํ๋ฏ๋ก, ํ๋ ์์ํฌ ๋ณ๊ฒฝ ์์ด actions/cache๋ก ๋ฏธ๋ฆฌ ๋๋นํฉ๋๋ค.
โ ๊ด๋ จ: #89 (Astro ๋ง์ด๊ทธ๋ ์ด์ ๊ฒํ ), #90 (loader cache ๋ ผ์)
โ OG ์ด๋ฏธ์ง ์บ์(public/og)๋ preview.yml์ ์ด๋ฏธ ์ ์ฉ๋์ด ์์ด ์ด ์ด์ ๋ฒ์์์ ์ ์ธํฉ๋๋ค.
์์กด์ฑ ์บ์
bun install ๊ฒฐ๊ณผ๋ฅผ ์บ์ํฉ๋๋ค. key๊ฐ bun.lock ํด์๋ผ lockfile์ด ๋ฐ๋ ๋๋ง ๋ฌดํจํ๋์ด ์ ํฉ์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ธ ์ํฌํ๋ก์ฐ ์ด๋์๋ ์๋, ๊ฐ์ฅ
๊ธฐ๋ณธ์ด์ ํจ๊ณผ๊ฐ ํฐ ์บ์์ ๋๋ค.
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
Playwright ๋ธ๋ผ์ฐ์ ์บ์
rehype-mermaid๊ฐ ๋ค์ด์ด๊ทธ๋จ ๋ ๋์ ์ฌ์ฉํ๋ ํค๋๋ฆฌ์ค ๋ธ๋ผ์ฐ์ ๋ค์ด๋ก๋๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. ๋ค์ด์ด๊ทธ๋จ์ ํฌํจํ ๊ธ์ด ๋์ด๋๋ฉด ์ด ๋ค์ด๋ก๋ ๋น์ฉ์ด
์ปค์ง๋๋ค.
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('bun.lock') }}
Vite ๋น๋ ์บ์
node_modules/.vite์ ์ฌ์ ๋ฒ๋ค(pre-bundle) ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. RR7 ์คํ์์ Astro loader cache์ ๊ฐ๋ ์ ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณ์ธต์ผ๋ก, ์์กด์ฑ์ด๋ ๋น๋
์ค์ ์ด ๊ทธ๋๋ก๋ฉด ์ฌ๋ฒ๋ค์ ๊ฑด๋๋๋๋ค.
with:
path: node_modules/.vite
key: vite-${{ runner.os }}-${{ hashFiles('bun.lock', 'vite.config.ts') }}
restore-keys: vite-${{ runner.os }}-
์ ์ฉ ๋์