기존 커밋에 따라 변경 사항을 자동으로 생성하는 GitHub 조치.
풀 요청이나 문제를 자유롭게 제출하십시오. 그러나 템플릿을 따르십시오.
이 프로젝트를 함께 개선하기위한 기고자들을 환영합니다!
당신이 이것을 좋아한다면, 나에게 별을주세요 !
.github/workflows/changelog.yml 과 같은 워크 플로 파일을 만듭니다 (이 repo에서 찾을 수 있음).
name : Generate changelog
on :
release :
types : [created, edited]
jobs :
generate-changelog :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- uses : BobAnkh/[email protected]
with :
REPO_NAME : ' <YourUserName>/<YourRepoName> '
ACCESS_TOKEN : ${{secrets.GITHUB_TOKEN}}
PATH : ' CHANGELOG.md '
COMMIT_MESSAGE : ' docs(CHANGELOG): update release notes '
TYPE : ' feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements '참고 : ChangeLog 생성 모든 커밋 기록이 필요하므로
actions/checkout사용하여fetch-depth: 0설정해야합니다.참고 : 커밋 로그는
docs(changelog)또는doc(CHANGELOG)로 시작하여 changelog에 추가되지 않습니다.
일부 매개 변수를 설정하는 방법은 아래 표 아래 참고 사항을 참조하십시오 .
| 입력 | 설명 | 필수의 | 기본 |
|---|---|---|---|
| repo_name | 저장소 이름 | 아니요 | '' 현재 저장소를 의미합니다 |
| access_token | Github 액세스 토큰. 메모 1을 참조하십시오 | 예 | 당신은 단지 ${{secrets.GITHUB_TOKEN}} 통과 할 수 있습니다. |
| 길 | 파일로가는 길 | 아니요 | CHANGELOG.md |
| 나뭇가지 | 경로에 지정된 파일을 업데이트하는 분기 | 아니요 | '' 기본 분기를 의미합니다 |
| pull_request | 대상 지점 이름으로 설정된 경우 새 풀 요청을 엽니 다. 참고 2를 참조하십시오 | 아니요 | '' 기본적으로 풀 요청 요청이 없음을 의미합니다 |
| Commit_Message | 커밋 메시지 | 아니요 | docs(CHANGELOG): update release notes |
| 유형 | Changelog에 추가하려는 커밋 유형. 메모 3 참조 | 아니요 | 'feat:Feature,fix:Fix' |
| Committer | 파일을 업데이트하는 데 사용하려는 Committer. 참고 4를 참조하십시오 | 아니요 | '' 이것은 기본 커밋터를 의미합니다 |
| default_scope | 모든 Unscoped 커밋을 보유하는 기본 범위 | 아니요 | general |
| suppress_unscoped | 공제되지 않은 커밋을 제외할지 여부 | 아니요 | 거짓 |
| Unreleised_commits | Changelog에 미공개 커밋을 포함 시킬지 여부 | 아니요 | 거짓 |
| Regenerate_count | 최근 릴리스의 변경 사항을 재생합니다. 메모 5를 참조하십시오 | 아니요 | 0 |
| replace_empty_release_info | 빈 릴리스 정보를 일부 단어로 바꾸십시오 | 아니요 | 거짓 |
참고 1 : ${{secrets.GITHUB_TOKEN}} PAT (Personal Access Token)보다 작은 요율 제한이 있으므로 더 많은 요청 (커밋, PR 등)이 있거나 403 속도 제한 오류가 있으면 PAT를 대신 사용하십시오.
참고 2 : PULL_REQUEST BRANCH 와 함께 사용해야합니다. 풀 요청을 열 려면 두 가지 모두 유효한 지점 이름이 제공되어야합니다 . GA는 BRANCH (헤드 브랜치)에서 PULL_REQUEST (기본 분기)까지 풀 요청을 열어줍니다. 풀 요청을 열지 않으려면 PULL_REQUEST 비워 두십시오.
참고 3 : Commit Message에서 감지 된 키워드와 ChangElog에 입력 TYPE 의 해당 단어를 정의 할 수 있습니다. 예를 들어, feat:Feature,fix:Bug Fixes feat(main): add new option 부품 Feature 아래 ChangeLog에 표시 될 새 옵션을 추가하고 fix(server): adjust rendering 부품 Bug Fixes 아래에서 changelog에 표시 할 렌즈를 조정하십시오.
참고 4 : COMMITTER 형식이어야합니다. 'author <author@email>'
참고 5 : ChangeLog에 존재하지 않는 모든 릴리스는 물론 ChangElog에 추가됩니다. 이 매개 변수를 사용하여 마지막 N 릴리스의 변화를 재생하십시오. 기본 설정은 0으로 설정되면 새 릴리스에 대해서만 생성됩니다. 모든 릴리스를 재생하기 위해 -1로 설정할 수 있습니다.
참고 6 : 아래 형식을 사용하여 릴리스에 표시되는 일부 줄을 피할 수 있습니다.
<!-- HIDE IN CHANGELOG BEGIN --> See CHANGELOG for more details. This line will be hided when changelog is generated. <!-- HIDE IN CHANGELOG END -->
@bobankh
우리의 행동 강령을 따라야합니다.
기고 규칙에 대한 기고 지침을 참조하십시오.
코드를 제출하기 전에 모든 테스트를 통과하십시오. 루트 디렉토리에서 pytest -ra 수행하여 모든 테스트를 실행할 수 있습니다.
로컬 컴퓨터에서 Develope에서 로컬 모드를 사용할 수 있습니다. 다음은 명령 줄 도움말 정보입니다.
usage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE choose to use local-dev mode or on github action mode.
Valid values are 'local' or 'github'
-f FILE, --file FILE configuration file to read from when running local-dev
mode
-o OUTPUT, --output OUTPUT
output file when running local-dev mode
-t TOKEN, --token TOKEN
Github Access TokenYixin Shen | 조나단 망치 | 세바스티안 럴 |
아파치 -2.0 © Bobankh