1. Yarn使用
気が向いたので、初めてYarnを使ってみました。 npmと互換性があるのでそのままサクッと動かせるのは良いですね。 依存関係を解決してダウンロードするスピードに関しては……どうでしょう。確かにnpmよりも速い気はしますが、きちんと比較していないので何とも。2. Github Actionsのメモ
Github Actionsのrepository_dispatch
イベントについて
- ワークフローをトリガーするイベント – GitHub ヘルプ
- Repositories | GitHub Developer Guide
- Event Types & Payloads | GitHub Developer Guide
- GitHub Ationsで任意のタイミングでトリガーを発火させる – notebook
- GitHubActionsのrepository_dispatchを試す – Qiita
- 新 GitHub Actions 入門 – 生産性向上ブログ
- リポジトリ側
- YAMLファイルに
on: repository_dispatch
と書いておく - 以下のアクセストークンに
repo
権限が必要
- YAMLファイルに
- POSTリクエストを
https://api.github.com/repos/:REPOS_OWNER/:REPO_NAME/dispatches
に投げる- リクエストヘッダに以下の2つを含める
Authorization: token ACCESS_TOKEN
(ACCESS_TOKENは実際のトークン)Accept: application/vnd.github.everest-preview+json
- データはJSONで、
{"event_type": "test"}
のように適当なものを投げ付ければ良い
- リクエストヘッダに以下の2つを含める
参考: Github Actions, CI
- GitHubがCI/CDサービスを標準サポートへ | TechCrunch Japan
- node.jsのサンプル: starter-workflows/node.js.yml at master ・ actions/starter-workflows
- Actionsで使えるアプリケーション: Software installed on GitHub-hosted runners – GitHub Help
参考: Github Actionsのサンプル
- CircleCIからGitHub Actionsへの移行 (Node.js) – lacolaco
- reactive-store/main.yml at master ・ lacolaco/reactive-store
- reactive-store/package.json at master ・ lacolaco/reactive-store
- Actions ・ lacolaco/reactive-store
参考: その他
この辺りを参考に、とりあえずpush
イベントで発動させて
- YAMLファイルを作成し、Github Actionsが動くかどうかのテスト
- SECRETSを設定し、node.jsの引数として渡せるかテスト
3. Github Actionsの動作ログにUnhandledPromiseRejectionWarning: Error: Request failed with status code 400
エラーが表示される
axios
で外部データをGETするタスクをGithub Actionsで動かしたところ、動作ログに
UnhandledPromiseRejectionWarning: Error: Request failed with status code 400というエラーが表示されました。 こちらの答えを参考に、
axios
のthen
メソッドの後ろにcatch
メソッドを追加したら発生しなくなりました。
どうも質問への答えの通りcatch
メソッドを記述しなかったのが原因っぽいです。