2022/06/27 作業ログ(renovate, semantic-release大変だった。。)
※今日の作業ログは盛りだくさん??
やったこと
-
https://github.com/PheasantDevil/test-storybook
- 新しいリポジトリの作成(test-various-toolsで使う予定のcomponentを作成・管理するためのリポジトリ。storybook+semantic-release+renovateで運用予定)
- renovateの導入
- github actionsのworkflowで
https://github.com/PheasantDevil/test-storybook/blob/main/.github/workflows/renovate.yaml
を作成。scheduleも組んだ - renovateでPRの作成からapproveの付与を行わせていないためAuto-Mergeは不可(後述記載するが、test-various-toolsではAutoMergeを実現できた様子)
- 今後、AutoMergeは再検討(使用しないリポジトリ(test-storybook)と使用するリポジトリ(test-various-tools)で見極めていく)
- github actionsのworkflowで
- semantic-releaseの導入
- ざっくり大枠を
https://github.com/PheasantDevil/test-storybook/blob/main/release.config.js とした。
- branchesも書いているが、動くのはmainブランチにMergeされた時だけ(beta-releaseも現状不可)
- GHの場合、repository, repositoryUrlは末尾に'.git'をつけるように(これで2日悩んだ)
- pachage.jsonも修正
- repositoryのurlに指定の値を設定(色々試行錯誤したが、、)
- homepage
- licenseも
- .github/workflows/semantic-release.yamlも試行錯誤した
- yarnを使えるようにする記載を残しているが、改めて見返した際に不要と判断する可能性有(semantic-releaseパッケージもnpxで使用しているため)
- 不要と判断したら削除
- npx semantic-releaseでエラーが出続けた
-
https://github.com/PheasantDevil/test-storybook/runs/7074488477?check_suite_focus=true#step:6:22
-
EGITNOPERMISSION Cannot push to the Git repository.semantic-release cannot push the version tag to the branch main on the remote Git repository with URL https://x-access-token:[secure]@github.com/〜
- workflow時の権限の問題と考え、release-jobのpermissionsでどの権限を与えればよいか検証した
- 検証中のPRは
- 結果的に以下のような記載が必要だった(あくまで自身の例。他に解決法あったかも。。)
-
- yarnを使えるようにする記載を残しているが、改めて見返した際に不要と判断する可能性有(semantic-releaseパッケージもnpxで使用しているため)
- ざっくり大枠を
-
https://github.com/PheasantDevil/test-various-tools
- semantic-releaseをテスト
- 結果、本リポジトリには現状不要と判断
- renovate auto-mergeの件
-
https://github.com/settings/installations/26638032を追加。
- renovateでパッケージのバージョン検知がある場合PRを作成してくれるもの
- renovateが出したPRでAooreveを出す必要がある場合、自動で
https://github.com/apps/renovate-approveがApprove出してくれる
- auto-mergeを有効にするには `renovate.json`の第一階層および必要なpachageRulesで "automerge: true"が必要
- リポジトリの設定で 「Allow auto-merge」にチェックをつける必要があった
- 最終的な設定ファイルは
https://github.com/PheasantDevil/test-various-tools/blob/develop/renovate.json
-
- semantic-releaseをテスト
- 今後は 'test-storybook'で必要に応じてComponentを作成、toolsではstorybookから渡ってくるpachageを使って開発する
- 現状の各リポジトリの位置合いは以下の通り(from test-various-tools test-storybookは●、その逆は不対応の予定)
次作業日にやる予定のもの
- test-storybookでtagが出ているが、test-various-toolsで(そもそも)使用できるか、どのように使用して行けるかの確認
-
https://github.com/PheasantDevil/test-various-tools/issues 内を整理して、test-storybookリポジトリにissueを移す
- test-storybook側のcomponent開発
最後に
作業ログとは別に renovateで詰まった点とsemantic-releaseで詰まった点、書き出さないとな〜〜