π€ μλνλ ν μ€νΈ μ€ν νκ²½
μ΄ νλ‘μ νΈλ GitHub Actions λ₯Ό μ¬μ©νμ¬ μλνλ ν μ€νΈ νκ²½μ μ 곡ν΄μ. μ΄λ μ½λκ° λ³ν©λκ³ λ°°ν¬λκΈ°κΉμ§μ κ³Όμ μμ λ€μν ν μ€νΈλ₯Ό μ€νν¨μΌλ‘μ¨ μ½λμ νμ§μ μ μ§νκ³ , λ°°ν¬ μ μ λ¬Έμ κ° λ°μνμ§ μλλ‘ μ¬μ μ μΈμ§νκ³ ν΄κ²°νκΈ° μν¨μ΄μμ.
π μν¬νλ‘μ° κ΅¬μ± (.github/workflows/test.yml
)
μ΄ μν¬νλ‘μ°λ λ€μν ν μ€νΈ μ‘(job)μΌλ‘ ꡬμ±λμ΄ μμΌλ©°, κ° μ‘μ λ€μκ³Ό κ°μ μν μ ν©λλ€.
μμ½
1. unit-test
- μμ‘΄μ± μ€μΉ, λΉλ, λ¨μ ν μ€νΈ, 컀λ²λ¦¬μ§ 리ν¬νΈ μμ±μ λ΄λΉν©λλ€.
- Turbo, node_modules, dist, ν μ€νΈ 컀λ²λ¦¬μ§ λ± λ€μν μΊμλ₯Ό νμ©νμ¬ λΉλ/ν μ€νΈ μλλ₯Ό λμ λλ€.
- ν μ€νΈ κ²°κ³Όμ 컀λ²λ¦¬μ§ 리ν¬νΈ, λΉλ/ν μ€νΈ λ‘κ·Έλ₯Ό μν°ν©νΈλ‘ μ λ‘λν©λλ€.
2. set-docker-compose
- λ컀 κΈ°λ° ν΅ν© ν
μ€νΈ νκ²½μ μν
docker-compose.gha.yaml
νμΌμ λ³ν λ° μΊμ±ν©λλ€. - μ΄ν E2E, Lighthouse, Storybook ν μ€νΈμμ 곡ν΅μΌλ‘ νμ©λ©λλ€.
3. lighthouse-test
- μΉμ±κ³Ό Lighthouse ν μ€νΈμ© μ΄λ―Έμ§λ₯Ό λμ»€λ‘ λΉλνκ³ , Lighthouse CIλ₯Ό ν΅ν΄ μΉ μ κ·Όμ±/μ±λ₯/SEO λ±μ μλ μ κ²ν©λλ€.
- temporary-public-storage μ ν μ€νΈ κ²°κ³Όλ₯Ό μ λ‘λνκ³ , 리ν¬νΈλ₯Ό PR μ 첨λΆν©λλ€.
4. e2e-web
- μΉμ±κ³Ό Playwright κΈ°λ° E2E ν μ€νΈ μ΄λ―Έμ§λ₯Ό λμ»€λ‘ λΉλνκ³ , μ€μ λΈλΌμ°μ νκ²½μμ ν΅ν© ν μ€νΈλ₯Ό μνν©λλ€.
- ν μ€νΈ κ²°κ³Ό(junit.xml)λ₯Ό μν°ν©νΈλ‘ μ λ‘λν©λλ€.
5. storybook-test
- Storybook λ° Storybook ν μ€νΈ λ¬λ μ΄λ―Έμ§λ₯Ό λμ»€λ‘ λΉλνκ³ , Storybook κΈ°λ° UI μ»΄ν¬λνΈ μ κ·Όμ±/ν μ€νΈλ₯Ό μλνν©λλ€.
- μ κ·Όμ± λ¦¬ν¬νΈ(a11y-audit)λ₯Ό μν°ν©νΈλ‘ μ λ‘λν©λλ€.
π μλν νλ¦ μμ½
- λ¨μ ν μ€νΈ: μ½λ λ³κ²½ μ κ°μ₯ λ¨Όμ μ€νλμ΄ λΉ λ₯΄κ² νΌλλ°±μ μ 곡ν©λλ€.
- λ컀 νκ²½ μ€λΉ: ν΅ν© ν μ€νΈλ₯Ό μν λ컀 μ»΄ν¬μ¦ νμΌμ λ³ν/μΊμ±ν©λλ€.
- ν΅ν© ν μ€νΈ: E2E, Lighthouse, Storybook ν μ€νΈκ° λ³λ ¬λ‘ μ€νλμ΄ μ€μ μλΉμ€ νκ²½κ³Ό μ μ¬νκ² κ²μ¦ν©λλ€.
- μν°ν©νΈ μ λ‘λ: κ° ν μ€νΈ κ²°κ³Όλ¬Ό(컀λ²λ¦¬μ§, 리ν¬νΈ λ±)μ GitHub Actionsμ μν°ν©νΈλ‘ μ λ‘λλμ΄ μΆν νμΈν μ μμ΅λλ€.
πΎ μΊμ μ λ΅
- Turbo, node_modules, dist, ν μ€νΈ 컀λ²λ¦¬μ§, docker-compose λ³ν νμΌ λ± λ€μν μΊμλ₯Ό μ κ·Ή νμ©νμ¬ μν¬νλ‘μ° μ€ν μλλ₯Ό μ΅μ νν©λλ€.
π³ λ컀 κΈ°λ° ν΅ν© ν μ€νΈ νκ²½
- E2E, Lighthouse, Storybook ν μ€νΈλ μ€μ μλΉμ€μ μ μ¬ν νκ²½μ λ컀 컨ν μ΄λλ‘ κ΅¬μ±νμ¬ μ λ’°λ λμ ν μ€νΈλ₯Ό 보μ₯ν©λλ€.
- λ컀 μ»΄ν¬μ¦ νμΌ(
docker-compose.gha.yaml
)μ μ¬μ©νμ¬ νμν μλΉμ€(μΉ, Playwright, Lighthouse, Storybook λ±)λ₯Ό 컨ν μ΄λλ‘ λμλλ€. - κ° ν
μ€νΈ 컨ν
μ΄λλ λ³λμ λ€νΈμν¬(
test_network
)μμ μ€νλμ΄ μλΉμ€ κ° ν΅μ μ΄ μννκ² μ΄λ€μ§λλ€.
π μ°Έκ³
- κ° μ‘μ μμΈ μ€ν¬λ¦½νΈ λ° μ€μ μ
.github/workflows/test.yml
νμΌμ μ°Έκ³ νμΈμ. - ν μ€νΈ κ²°κ³Όλ¬Όμ GitHub Actionsμ βArtifactsβμμ λ€μ΄λ‘λν μ μμ΅λλ€.
Last updated on