κ°μ
κΉνλΈ μν¬νλ‘μ° μ€ PULL_REQUEST μ΄λ²€νΈμμ νμ©ν μ μλ μ‘μ μ λλ€.
κΈ°λ³Έ λΈλμΉλ‘ λ³ν©μ΄ μ§μ λ ν 리νμ€νΈκ° μλ£λ λ, κΈ°λ³Έ λΈλμΉλ‘ λ³ν©μ΄ λ°μνλ κ²½μ° ν 리νμ€νΈμ λΌλ²¨μ λ°λΌ λ€μ λ²μ μ΄λ¦μ μ μν©λλ€.
λμ:
κΉ νκ·Έ μ΄λ¦ μ€ SEMVERsember νμμ νκ·Έ μ΄λ¦μ κ²μν΄μ, μ΅μ λ²μ μ ν΄λΉνλ νκ·Έ μ΄λ¦μ μ°Ύμ΅λλ€.
SEMVERsember νμμ κΉ νκ·Έλ₯Ό μ°Ύμ μ μλ κ²½μ° 1.0.0
μ μ μν©λλ€.
μ΅μ λ²μ μ ν΄λΉνλ κΉ νκ·Έλ₯Ό μ°Ύμ κ²½μ°, μ§μ λ ν 리νμ€νΈμ μ§μ λμ΄ μλ λΌλ²¨μ κΈ°μ€μΌλ‘ μ£Ό λ²μ , λΆ λ²μ , ν¨μΉ λ²μ μ 1 μ¦κ° μν¨ λ²μ μ΄λ¦μ μ μν©λλ€.
μ λ ₯κ³Ό μΆλ ₯
μ λ ₯
Name | Required | Description |
---|---|---|
github_token | β | κΉνλΈ κ°μΈ μΈμ¦ ν ν° (PAT); μ μ₯μ μ½κΈ° κΆνμ΄ νμν©λλ€. |
pr | β | ν 리νμ€νΈ λ²νΈ; μ) 100 |
major_labels | β | μ£Ό λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘; μΌνλ‘ κ΅¬λΆ |
minor_labels | β | λΆ λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘; μΌνλ‘ κ΅¬λΆ |
patch_labels | β | ν¨μΉ λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘; μΌνλ‘ κ΅¬λΆ |
next_version_prefix | λ€μ λ²μ μ΄λ¦ μ λμ΄ |
νμ¬ μν¬νλ‘μ°κ° μ€νλκ³ μλ μ μ₯μμ λν μμ
μΈ κ²½μ° github_token
μ μ
λ ₯ν κΉνλΈ κ°μΈ μΈμ¦ ν ν°μ κ°μ 미리 μ μλ λ³μ μ€ νλλ₯Ό μ¬μ©ν μ μμ΅λλ€.
github.token
secrets.GITHUB_TOKEN
νμ¬ μν¬νλ‘μ°κ° μ€νλ μ΄λ²€νΈ νΈλ¦¬κ±°κ° pull_request
μΈ κ²½μ° pr
μ μ
λ ₯ν ν 리νμ€νΈ λ²νΈμ κ°μ νμ¬ μ»¨ν
μ€νΈμ μ΄λ²€νΈ λ°μ΄ν°λ₯Ό μ¬μ©ν μ μμ΅λλ€.
- github.event.pull_request.number
μΆλ ₯
Name | Description |
---|---|
latest_version | κΉ νκ·Έμμ μ°Ύμ μ΅μ λ²μ μ΄λ¦ |
next_version | μ μλ λ€μ λ²μ μ΄λ¦ |
next_version_major | μ μλ λ€μ λ²μ μ μ£Ό λ²μ |
next_version_minor | μ μλ λ€μ λ²μ μ λΆ λ²μ |
next_version_patch | μ μλ λ€μ λ²μ μ ν¨μΉ λ²μ |
latest_version == ''
μΈ κ²½μ°next_version
μ κ°μ1.0.0
μ λλ€.
μμ
μλ μν¬νλ‘μ°λ λ©μΈ λΈλμΉλ₯Ό λ² μ΄μ€λ‘ νλ ν 리νμ€νΈκ° λ³ν©μΌλ‘ μλ£λλ©΄ μ€νλ©λλ€.
name: 'create-tag'
on:
pull_request:
branches:
- main
types:
- closed
jobs:
get_next_version:
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true # ν 리νμ€νΈκ° λ³ν©μΌλ‘ μλ£λ μνλ₯Ό νμΈ
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get next version
uses: bbonkr/next-version-proposal-action@v1
id: next_version_proposal
with:
github_token: ${{ github.token }} # κΉνλΈ κ°μΈ μΈμ¦ ν ν°
pr: ${{ github.event.pull_request.number }} # μ°κ΄ ν 리νμ€νΈ λ²νΈ
major_labels: 'major, next' # μ£Ό λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘
minor_labels: 'enhancement, feature' # λΆ λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘
patch_labels: 'bug, documentation, chore, dependencies' # ν¨μΉ λ²μ μ΄ μ¦κ°νλ ν리νμ€νΈ λΌλ²¨ μ΄λ¦ λͺ©λ‘
next_version_prefix: 'v' # λ²μ μ΄λ¦μ μ λμ΄λ₯Ό μ§μ
- name: logging
run: |
echo "latest_version=${{ steps.next_version_proposal.outputs.latest_version }}"
echo "next_version=${{ steps.next_version_proposal.outputs.next_version }}"
echo "next_version_major=${{ steps.next_version_proposal.outputs.next_version_major }}"
echo "next_version_minor=${{ steps.next_version_proposal.outputs.next_version_minor }}"
echo "next_version_patch=${{ steps.next_version_proposal.outputs.next_version_patch }}"
μ μ½μ¬ν:
- SEMVERsember νμμ μ²λ¦¬ν λ, μ£Ό λ²μ major, λΆ λ²μ minor, ν¨μΉ λ²μ patch λΆλΆμ λν λ€μ λ²μ μ μ μν©λλ€. 미리보기 pre-release, λΉλ λ²νΈ build λΆλΆμ μ²λ¦¬νμ§ μμ΅λλ€.