Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci[typing-app]: PR時にビルドする #11

Merged
merged 17 commits into from
Mar 9, 2024
Merged

Conversation

h-takeyeah
Copy link
Collaborator

@h-takeyeah h-takeyeah commented Mar 6, 2024

やったこと

  • nodejsci.yml build-app.yml の追加
    • develop ブランチへの PR 時に npm run build し、それが成功したら npm run lintやる
    • bunを使ってるけどnodeの知見で書いたので何となくというのとワンチャンbunやめるかもしれないのでnodejsという文言が入ってる
    • typing-app の app を取って build-app にした

やらないこと

  • workflow file の分割等
  • reviewdog の導入等

できるようになること(ユーザ目線)

  • 無し

できなくなること(ユーザ目線)

  • 無し

動作確認

  • 手元で act による動作確認を行った
    • act はローカルで Github Actions の動作確認を行えるツールです
    • キャッシュがある場合と無い場合、それからTypeScriptの文法エラーで失敗する場合、すべてについて想定通り動いてました

@h-takeyeah h-takeyeah self-assigned this Mar 6, 2024
@h-takeyeah h-takeyeah closed this Mar 6, 2024
@h-takeyeah h-takeyeah reopened this Mar 6, 2024
on.push.branches に "ci/**" が含まれていると
base=main, head=ci/hoge な PR を作った時に2重に
回ってしまうのを避けるため
@h-takeyeah
Copy link
Collaborator Author

h-takeyeah commented Mar 8, 2024

./github/actions/prepare-nodemodules を作って Bun で node_modules を作る手順を1つにまとめました。使い回すことはないと思いますがスッキリしたと思います。

golint-ci.yml に合わせて permissions とワークフロー名に修正を入れています。

ci/**on.push.branches の条件に含まれていると PR が開いてるときに push すると on.pushon.pull_request が2重に反応してしまうようでワークフローが無駄に回ってしまっていました。ci/** を条件から外しました。これにより(develop, main を除く)ブランチに push しただけでは回らなくなってしまいますが、push したらその後 PR を必ず出すと思うので、問題ないかなと考えています。正直どう書いたらいつ何が回るのか、よくわかってない。

concurrency を書きました。1つのワークフローが同時に回りそうになったときに、先に回ってた方が停止されます。これにより同じワークフローは同時に1つまでしか回らないようになる……はずです。${{ github.workflow }}-${{ github.ref }} を使っているのでワークフローの名前とブランチが被っていなければ同時に回せます。

actions/setup-node によれば node_modules そのものではなく、パッケージマネージャのキャッシュディレクトリをキャッシュするべきだと分かります。しかし、今回はあえてそこではなく直接 node_modules を GitHub Actions のキャッシュに保存するようにしています。これは bun を GitHub Actions で使用するためにはいちいち bun のインストールからやらなければならず手間だからです。

Lint というジョブを削除しました。 Build というジョブで npm run build もとい next build を実行しています。この中で Lint やら型のチェックやらが行われているようなので(ビルド中のログにそう書いてあった)、Lint 単独では不要かなと思いました。

KinjiKawaguchi
KinjiKawaguchi previously approved these changes Mar 8, 2024
Copy link
Member

@KinjiKawaguchi KinjiKawaguchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KinjiKawaguchi
Copy link
Member

PR時に発火するのみの方向で大丈夫そうです :D

@h-takeyeah h-takeyeah changed the title ci[typing-app]: PR時にビルドとリントをかける ci[typing-app]: PR時にビルドする Mar 9, 2024
@h-takeyeah h-takeyeah merged commit 981cce7 into develop Mar 9, 2024
1 check passed
@h-takeyeah h-takeyeah deleted the ci/frontend/jobs-build branch March 9, 2024 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants