ChangeLog - ci (コミットおよび/またはコメント自動生成されたchangelogをアクションを使用してPRにする)
11297 ワード
マイワークフロー
私は、Changelog CIと呼ばれる最初のオープンソースGithubアクションを作成しました.
これはChangeLogを生成し、それを
CHANGELOG.md
ファイルに先行し、コミットおよび/またはリリースプル要求にコメントします.生の例:Changelog CI's Changelog
提出カテゴリ
メンテーナは必要である
YAMLファイルまたはコードへのリンク
Changelog CI
のリンクはこちらgithubリポジトリ
SAADMK 11 / 変更履歴
ChangeLog ciはchangelogを生成するgithub actionで、changelogはリリースプル要求にコミットされ、コメントされます。
ChangeLog CIとは
changelog ciはchangelogを生成するGithubアクションです
その後、changelogは
および/またはリリースプル要求にコメントします.
どうやって動くの
ChangeLog CIは、
CHANGELOG.md
とpython
を使用して、倉庫のchangelogを生成しますまず、リポジトリから
GitHub API
を取得しようとします(利用可能ならば)それから、それはGithub APIを使用している最後のリリースの後、合併したすべてのプル要求をチェックします.
その後、データを解析し、
latest release
を生成する.最後に生成されたchangelogを
changelog
(またはユーザが提供するファイル名)ファイルの先頭に書き込みます.それに加えて、ユーザーがconfig(JSONファイル)を提供する場合、ChangeLog CIは、ユーザーが提供する設定ファイルを解析します
そして、ユーザ設定に従ってchangelogをレンダリングします.
変更がコミットされ、リリースプル要求にコメントされます.
使用法:
このアクションを使用するにはプル要求.
View on GitHub
市場
https://github.com/marketplace/actions/changelog-ci
追加情報
Changelog CIは新しいオープンソースのアクションです.現在、私のオープンソースプロジェクトはそれを使います.
たとえば、django-newsfeedとbanking-systemはそれを使用します.
この出力は
CHANGELOG.md
CHANGELOG.mdChangeLog CI自体はこのアクションを使用してChangelogを生成します.
どうやって動くの
ChangeLog CIは、
changelog-ci
とpython
を使用してリポジトリのchangelogを生成します.まず、リポジトリから
GitHub API
を取得しようとします.それから、それはGithub APIを使用している最後のリリースの後、合併したすべてのプル要求をチェックします.その後、データを解析し、
latest release
を生成する.最後に、生成されたchangelogをchangelog
(またはユーザが提供するファイル名)ファイルの先頭に書き込みます.それに加えて、ユーザーがconfig(JSONファイル)を提供している場合、ChangeLog Ciはユーザーによって提供されている設定ファイルを解析し、ユーザー設定に従ってchangelogをレンダリングします.その後、変更はコミットされ、リリースプル要求についてコメントします.使用法:
このアクションを使用するには、プル要求のタイトルは、設定ファイルから既定242479142またはユーザー提供
CHANGELOG.md
と一致する必要があります.デフォルトのタイトル正規表現:
regex
( title "title "with "release "(大文字小文字を区別しません))デフォルトのバージョン番号regex :これは
regex
(Semantic Versioning)パターンに従います.例えば、^(?i)release
、SemVer
、1.0.0
など.セマンティックバージョン管理パターンの詳細については、このリンクに移動します
注242479152
https://regex101.com/r/Ly7O1x/3/ ChangeLog CIを使用したワークフローの例
name: Changelog CI
# Controls when the action will run. Triggers the workflow on pull request
on:
pull_request:
types: [opened, reopened]
jobs:
build:
runs-on: ubuntu-latest
steps:
# Checks-out your repository
- uses: actions/checkout@v2
- name: Run Changelog CI
uses: saadmk11/[email protected]
with:
# Optional, you can provide any name for your changelog file.
# defaults to ``CHANGELOG.md`` if not provided.
changelog_filename: CHANGELOG.md
# Optional, only required when you want more customization
config_file: changelog-ci-config.json
env:
# Optional, Only required for ``private`` repositories
# and required if the changelog comment
# option is turned on through the config file
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
ChangeLog CIバッジyou can provide your own regex through the config file
バッジを表示するには、readmeに追加します.
![Changelog CI Status](https://github.com/<username>/<repo_name>/workflows/Changelog%20CI/badge.svg)
設定ファイルを使用したchangelogの出力例
ChangeLog CI用の設定ファイルについてもっと学びましょう
バージョン0.0.2
READMEMD バグフィックス
: README
:再び同じREADMEファイルを更新する
菅53 新機能
#54 : README更新.MD
ドキュメント更新
#68 :ドキュメント更新
バージョン: 0.0.1
菅66 バグフィックス
: README
:再び同じREADMEファイルを更新する
菅53 ドキュメント更新
#54 :ドキュメント更新
設定ファイルを使用せずにchangelogの出力例
菅66 バージョン0.0.2
: README
:再び同じREADMEファイルを更新する
#53:Readme更新
菅54 バージョン: 0.0.1
#55 :テストが終わらないような気がする
:もう一度、もう一度
#43 :これはまた別のテストで、疲れた
#35:これは再び別のテスト
菅44 ChangeLog ci in action (コメント&コミット)
#37
結論
これはオープンソースのメンテナにとって本当に役立つでしょう.興味がある方はを試してみてください.
Reference
この問題について(ChangeLog - ci (コミットおよび/またはコメント自動生成されたchangelogをアクションを使用してPRにする)), 我々は、より多くの情報をここで見つけました https://dev.to/saadmk11/github-actions-changelog-ci-4ojhテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol