κΉνλΈ μν¬νλ‘μ°μμ νμ©ν μ μλ κΉνλΈ μ‘μ GitHub actions μ μμ±νμ΅λλ€.
μ λ ₯λ νκ·Έκ° κΉ git μ격μ μ₯μμ μ‘΄μ¬νλμ§ μ‘°νν ν μμΌλ©΄ μ λ ₯λ νκ·Έλ₯Ό λ°ννκ³ , μ°Ύμ μ μμΌλ©΄ λΉ λ¬Έμμ΄μ λ°ννλ λ¨κ³λ₯Ό μ 곡ν©λλ€.
git-tag-check-action
Overview
λ²μ κ΄λ¦¬λ₯Ό ν λ λ²μ μ΄λ¦μΌλ‘ git tag λ₯Ό μμ±νκ³ μμ΅λλ€.
μ΄ κΉνλΈ μ‘μ μ νμ¬ κΉνλΈ μ μ₯μμ μ λ ₯λ μ΄λ¦μ νκ·Έκ° μ‘΄μ¬νλμ§ νμΈνλ μμ μ λμμ΄ λ μ μμ΅λλ€.
μμλλ μ¬μ©μ²:
- μν¬νλ‘μ°μμ νμ¬ λ²μ Όμ΄ μ‘΄μ¬νλ κ²½μ° μ΄ν λ¨κ³λ₯Ό μ€ννμ§ μκ² μ€μ
Usages
steps:
- uses: actions/checkout@v2
- uses: bbonkr/git-tag-check-action@v1.0.5
id: git_tag_check
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tag: 'v1.0.0'
- name: logging found
if: ${{ steps.git_tag_check.outputs.tag != '' }}
run: |
echo "Found tag=${{ steps.git_tag_check.outputs.tag }}"
- name: logging not found
if: ${{ steps.git_tag_check.outputs.tag == '' }}
run: |
echo "Tag does not exist"
Inputs
Name | Required | Description |
---|---|---|
tag | β | νκ·Έ, νμΈνλ €λ νκ·Έμ λλ€. |
github_token | β | κΉνλΈ PAT, Repo μ€μ½νκ° νμν©λλ€. |
prefix | λ²μ μ λμ΄μ
λλ€. κΈ°λ³Έκ°μ '' (λΉ λ¬Έμμ΄)μ
λλ€. |
Outputs
Name | Description |
---|---|
tag | μ
λ ₯λ νκ·Έκ° μλ κ²½μ° μ‘°νλ νκ·Έκ° λ°νλ©λλ€. μλ κ²½μ° '' (λΉ λ¬Έμμ΄)μ
λλ€. |
Review
GitHub Action with typescript
node.js κΈ°λ°μΌλ‘ λμνκ³ , Typescriptλ‘ μμ±λ μ‘μ μ λλ€.
μ²μ μμ±νλ μ‘μ μ΄λΌ, μ΄λ»κ² μμ±νλμ§ μ΄λ»κ² κ²μνλμ§ νμΈμ νκΈ° μν΄ GitHub: actions/typescript-action ν νλ¦Ώμ μ¬μ©νμ΅λλ€.
dist/index.js
μ‘μ μ€νμ μ¬μ©λλ μμμ μ λλ€.
ν 리쿼μ€νΈ μμ± λλ κΈ°λ³Έ λΈλμΉλ‘ 컀λ°μ μ μ‘νκΈ°μ μ
ncc build
λ‘ dist/ λλ ν°λ¦¬μ νμΌλ€μ λ€μ μμ±νκ³ , 컀λ°ν ν ν 리νμ€νΈ μμ± λλ μ격 μ μ₯μμ 컀λ°μ μ μ‘νλ λ°©μμ μ¬μ©νμ νλ κ²μΌλ‘ μκ°λ©λλ€.npm run package
μ€ν¬λ¦½νΈλ‘ μ€νμ΄ μ€λΉλμ΄μ Έ μμ΅λλ€.
src/main.ts
ꡬννκ³ μ νλ μ½λμ μμμ μ λλ€.
@actions/core
ν¨ν€μ§λ₯Ό μ¬μ©ν΄μ κΉνλΈ μ‘μ
μ νμν μ
λ ₯, μΆλ ₯μ ꡬνν©λλ€.
@actions/github
ν¨ν€μ§λ₯Ό μ¬μ©ν΄μ GitHub μ μ₯μ μ‘μΈμ€(Octokit
)λ₯Ό ꡬνν μ μμ΅λλ€.
GitHub Actions
κΉνλΈ μν¬νλ‘μ°κ° 미리 ꡬμ±λμ΄ μμ΅λλ€.
check-dist
, test
λ κ°μ μν¬νλ‘μ°κ° μμ΅λλ€.
check-dist
λ dist/ λλ ν°λ¦¬μ μλ μμμ μ½λλ€μ΄ νμ¬ μ½λλ‘ λ€μ μμ±λμλμ§ νμΈνλ μν¬νλ‘μ°λ‘ μκ°λ©λλ€.
κ·Έλ°λ°, λ‘컬 μ₯μΉμμ λ§€λ² λ€μ μμ±ν΄μ 컀λ°μ μ격 μ μ₯μμ μ μ‘νλλ°, μν¬νλ‘μ°κ° μ€νλλ μ₯μΉμμ λΉλμ μ°¨μ΄μ μ΄ λ°κ²¬λκ³ μμ΄ νμ μ€λ₯ λ°μμΌλ‘ μ’ λ£λκ³ μμ΅λλ€.
μ’ λ νμΈν΄λ΄μΌν νμκ° μμ΅λλ€.
test
μν¬νλ‘μ°λ λΉλλ₯Ό νμΈνκ³ , λ¨μ ν
μ€νΈλ₯Ό μ€ννλ λ±μ μμ
μ΄ μ€νλλ μμ
κ³Ό μμ±λ κΉνλΈ μ‘μ
μ μ€νν΄μ λμμ νμΈνλ μμ
μΌλ‘ ꡬμ±λμ΄μ Έ μμ΅λλ€.