GitHub Actionsをそこそこ使っている今日この頃です。さて、Actionsといえば普遍的に使う、リポジトリをチェックアウトする actions/checkout
がありますが、このアクションがv2になり、色々と挙動が変更・改善されてい便利そうなのでいくつかご紹介。
- https://github.com/actions/checkout/releases/tag/v2.0.0
- https://github.com/actions/checkout#whats-new
- fetchのdepthがデフォルトで1になり、フェッチが速くなった
- チェックアウトの際に使用されたActions発行のトークンがgitのconfigに永続化され、リモートへのpushなどの操作が設定要らずでできるようになった
- ブランチのチェックアウト時にはローカルブランチを作るようになった(detached HEADにならない)
- チェックアウト先のパスを指定する
path
設定が絶対パスではなく$GITHUB_WORKSPACE
基準の相対パスになった
特に1〜3つ目は細かい困りごと・面倒ポイントを潰してくれていて好印象です。アクションの新バージョンには気づきにくいですが、どんどんアップデートして便利に使っていきたいですね。
追記
submoduleのチェックアウトが逆にv2では現在サポートされていないということなので、手でやる必要があり要注意です。この手段もSSHでは動かないとかもあり、submoduleを使っている方はしばらくv1の方がいいかもしれません。
https://github.com/actions/checkout#checkout-submodules
- uses: actions/checkout@v2 - name: Checkout submodules shell: bash run: | auth_header="$(git config --local --get http.https://github.com/.extraheader)" git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1