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ファイルを詳しくみていきます
💭 公式ドキュメントがとても頼もしいので、再説明ではなく、自分が気になったところだけ摘んで紹介します!
GitHub Actions上に表示nameについて
ymlファイルの直下で書いたnameがWorkflowの名前として
jobs > [job名] > nameがJobの名前として表示されます
| ymlファイル | GitHub Actions |
|---|---|
![]() |
![]() |
じゃあ、[job名] (ymlファイルにて薄緑で囲ったgithub-profile-card-actions)はどこにいったの?!と思ったら
今回は、私が jobs > [job名] > nameを定義したことで、[job名]が表示される機会がなくなってしまった ようでした
なるほど…
uses: Action名
肝心の、どうしてymlファイルを書くだけで、全てうまくいくのか…のところです
答えは、誰かが作ったActionがGitHub Marketplaceにて公開されているから!
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