GitHubの Release Please Action でkintoneプラグインのバージョン(manifest.json)も更新し、リリースにプラグインファイルを添付する方法。
背景
プラグインのバージョン管理を自動化したい。
手順
1. Release Please Action の manifest ファイルの作成
ファイル .release-please-manifest.json
を作成し、次の内容を記載する。
{ "." : "0.1.0" } // 現在のバージョンを指定
2. Release Please Action の config ファイルの作成
ファイル release-please-config.json
を作成し、次の内容を記載する。
{
"packages": {
".": {}
},
"release-type": "node",
"extra-files": [
{
"type": "json",
"path": "src/manifest.json", // kintone プラグインの manifest.json を指定
"jsonpath": "$.version"
}
]
}
3. Release Please Action の設定ファイルを作成
ファイル .github/workflows/release-please.yml
を作成し、次の内容を記載する。
name: release-please
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
env:
PLUGIN_NAME: pluginname # プラグイン名を設定
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
id: release
- uses: actions/checkout@v4
if: ${{ steps.release.outputs.release_created }}
- uses: actions/setup-node@v4
if: ${{ steps.release.outputs.release_created }}
with:
node-version: 20
- name: Set version variable
if: ${{ steps.release.outputs.release_created }}
run: |
echo "plugin_version=$plugin_version" >> "$GITHUB_ENV"
env:
plugin_version: ${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}.${{ steps.release.outputs.patch }}
- name: Build kintone plugin
if: ${{ steps.release.outputs.release_created }}
run: | # ビルドコマンドを設定
npm ci && npm install @kintone/plugin-packer
npm run build
cd src && npx kintone-plugin-packer --ppk ./private.ppk --out ./$PLUGIN_NAME-ver$plugin_version.plugin.zip .
- name: Upload kintone plugin
if: ${{ steps.release.outputs.release_created }}
env:
GH_TOKEN: ${{ github.token }}
run: |
cd src && gh release upload ${{ steps.release.outputs.tag_name }} ./$PLUGIN_NAME-ver$plugin_version.plugin.zip
4. GitHub Actions の権限設定
GitHub Actions Settings の手順に従って Allow GitHub Actions to create and approve pull requests を有効にする。