Skip to content

[ merge into master ] 개발 코드 업데이트 #27

[ merge into master ] 개발 코드 업데이트

[ merge into master ] 개발 코드 업데이트 #27

Workflow file for this run

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 }}