[ merge into master ] #28
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: update tag & package | |
# major update: 커밋 메시지에 "perf:", "BREAKING CHANGE:"라는 문구를 써줄것!! | |
# minor update: 커밋 메시지에 "feat:"라는 문구 써줄것!! | |
# "fix:"나 안적은 커밋 메시지는 무조건 마지막 숫자만 올라간다. | |
on: | |
push: | |
branches: | |
- master # main branch로 push될 때 아래 action이 실행된다. | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# 누가 커밋하는지 설정해줘야함 그냥 아무 아이디라도 상관없는듯 | |
# 안해주면 누가 했는지 모르기때문에 push할때 에러남 | |
- run: git config --global user.email "[email protected]" | |
- run: git config --global user.name "GitHub Actions" | |
# 버전 구분 major, minor, patch로 구분한다. | |
# 커밋메시지에 이러한 문자들이 포함되어있는지 검사해서 각각에 맞는 명령문 실행 | |
- name: Bump version minor | |
if: "contains(github.event.head_commit.message, 'minor')" | |
run: | |
npm version minor && echo 'minor update' | |
- name: Bump version major | |
if: "contains(github.event.head_commit.message, 'major')" | |
run: | |
npm version major && echo 'major update' | |
- name: Bump version patch | |
if: "!contains(github.event.head_commit.message, 'minor') && !contains(github.event.head_commit.message, 'major')" | |
run: | |
npm version patch && echo 'patch update' | |
################################################################################## | |
# npm version 명령어로 올라간 버전을 깃에 푸시 해서 저장 | |
- name: push version code | |
run: git pull origin master && git push origin master --tags | |
# npm 패키지 버전 변경시 git tag 생성 | |
- name: gh-action-tag-on-npm-version | |
uses: neverendingqs/gh-action-tag-on-npm-version@master | |
# 패키지의 버전을 가져와서 릴리즈 생성에 사용 | |
- name: get-npm-version | |
id: package-version | |
uses: martinbeentjes/npm-get-version-action@main | |
# 태그 버전에 따라 릴리즈 생성 | |
- name: Create a GitHub release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ steps.package-version.outputs.current-version }} | |
release_name: Release v${{ steps.package-version.outputs.current-version }} | |
body: v${{ steps.package-version.outputs.current-version }} |