GitHubのプロフィールをかっこよくしたい気持ちから始まる GitHub Actions の調査
はじめに
GitHubのプロフィールにPrivateレポジトリのコミット数等を反映させて、強そうなページにしたい!という気持ちから、
💭 なので、かっこよくしたい!という方は↑のページに飛んでください!
そこから自分が欲しいと思ったActionだけ拾い、以下のような.github/workflows/main.yml
ファイルができたのですが…
どうしてこのymlを書くだけで全てうまくいくの🤔?と思い、ちゃんと調べてみることにしました
公式ドキュメント
いざ調査🔍
階層・ファイル名
GitHub Actionsとして認識させるためには、.github/workflows
フォルダ内にymlを作る必要があります!
私のレポジトリでのファイル名は、main.yml
としましたが、どんなファイル名でも動くようです
ファイル名はGitHub Actions上では表示されないみたいなので、そこまでこだわらなくても良いのかも…?
💭 途中で2つのymlファイルを1ファイルにまとめたりしたのですが、問題なく動いたのに納得!
yml
ymlファイルを詳しくみていきます
💭 公式ドキュメントがとても頼もしいので、再説明ではなく、自分が気になったところだけ摘んで紹介します!
name
について
GitHub Actions上に表示ymlファイルの直下で書いたname
がWorkflowの名前として
jobs
> [job名] > name
がJobの名前として表示されます
ymlファイル | GitHub Actions |
---|---|
じゃあ、[job名] (ymlファイルにて薄緑で囲ったgithub-profile-card-actions
)はどこにいったの?!と思ったら
今回は、私が jobs
> [job名] > name
を定義したことで、[job名]が表示される機会がなくなってしまった ようでした
なるほど…
uses: Action名
肝心の、どうしてymlファイルを書くだけで、全てうまくいくのか…のところです
Workflow用のツールとして公開されているため、1行uses: Action名
と書くだけで誰かが考えたActionを自分のものとして使えちゃうわけですね
JavaScriptにとってのnpm
、Rubyにとってのgem
にあたるものと認識しています👀
💭 ここが個人的に1番疑問というか感覚的に使ってしまっていたところで、しっかり紐解けて納得感が深まりました!
例えば、uses: actions/checkout@v2
であれば
Actionは https://github.com/marketplace/actions/checkout を元に行われていることがわかります
💭 そして、このページに飛んだことで、v3
が既にリリース済みということに気がつきました!
(コード修正済みですが、スクショはv2のままです🙇)
おまけ
この記事をわかりやすく書くためにスクショを撮ろう!と思い、GitHub上でGitHub Actions用のymlファイルを編集してみたら、右側に公式ドキュメントの簡易版が表示されていました😲!
しかも、GitHub Marketplaceへの導線もありました…!
ずっとローカルで編集してたから気づかなかったです…
Discussion