Skip to content

feat: nix run でdev server起動・ビルドを可能にする#143

Merged
shunsock merged 6 commits intomasterfrom
feat/nix-run-support
Mar 19, 2026
Merged

feat: nix run でdev server起動・ビルドを可能にする#143
shunsock merged 6 commits intomasterfrom
feat/nix-run-support

Conversation

@shunsock
Copy link
Copy Markdown
Owner

@shunsock shunsock commented Mar 18, 2026

Summary

  • flake.nixapps を追加し、nix run でdev server起動、nix run .#build でプロダクションビルドが可能に
  • CI (build / deploy) を Nix ベースに移行し、setup-buncachix/install-nix-action + nix run .#build に置換
  • 実装ロジックを script/ に分離し、flake.nix / Taskfile / CI はハンドラとしてスクリプトを呼び出す構成

Changes

  • flake.nix: apps.default (dev server) と apps.build (build) を追加。writeShellApplicationscript/ のシェルスクリプトを呼び出す
  • Taskfile.yml: startrun にリネーム、bash ./script/dev.sh を呼び出す形に統一
  • .github/workflows/build.yml: setup-buninstall-nix-action + nix run .#build
  • .github/workflows/deploy.yml: 同上
  • script/dev.sh: 新規 (旧 start.sh をリネーム)
  • script/build.sh: 内容変更なし
  • 削除: script/setup.sh, script/start.sh, .github/workflows/validate_shellscript.yml

Test plan

  • nix run → dev serverが起動し http://localhost:5173/resume/ にアクセス可能
  • nix run .#builddocs/.vitepress/dist/ にビルド成果物が生成される
  • task run → dev serverが起動する
  • task build → ビルドが成功する
  • CI Build Testがパスする

🤖 Generated with Claude Code

- flake.nixにapps.default (dev server) とapps.build (build) を追加
- writeShellApplicationでscript/のシェルスクリプトを呼び出す構成
- CIをNix化 (cachix/install-nix-action + nix run .#build)
- Taskfileのstartをrunにリネーム
- 不要になったsetup.sh, start.sh, validate_shellscript.ymlを削除

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 18, 2026 10:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Nix Flake を中心に、開発/ビルドの実行経路を整理し、GitHub Actions でも Nix 経由でビルドするように寄せるPRです。

Changes:

  • Taskfile の開発サーバー起動タスクを start から run に変更
  • flake.nixnix run 用の apps(dev / build)を追加し、devShell の hook を簡素化
  • GitHub Actions を Bun セットアップから Nix 実行(nix run .#build)へ移行、ShellCheck workflow を削除

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
Taskfile.yml 開発サーバー起動タスク名/呼び出しスクリプトを更新
script/setup.sh setup スクリプトを削除
script/dev.sh 末尾の空行削除のみ
script/build.sh 末尾の空行削除のみ
flake.nix nix run 用 apps 追加、devShell の hook を置き換え
.github/workflows/validate_shellscript.yml ShellCheck workflow を削除
.github/workflows/deploy.yml Nix を導入し nix run .#build でビルド、paths を更新
.github/workflows/build.yml Nix を導入し nix run .#build でビルド、paths を更新

You can also share your feedback on Copilot code review. Take the survey.

Comment thread Taskfile.yml Outdated
Comment thread flake.nix
Comment thread flake.nix
Comment thread .github/workflows/build.yml Outdated
Comment thread .github/workflows/deploy.yml
@shunsock shunsock self-assigned this Mar 19, 2026
@shunsock shunsock added the enhancement New feature or request label Mar 19, 2026
runtimeInputsにbashが含まれていないため、実行環境によっては
bash: command not found になる可能性があった。
${pkgs.bash}/bin/bash を使用してパスを保証する。

Refs: #143
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shunsock and others added 4 commits March 19, 2026 11:18
validate_shellscript.ymlが削除されたことでscript/*.shの
静的解析がなくなっていた。build.ymlにshellcheckジョブを追加し、
script/*.shの変更時にもトリガーされるようpathsを追加。

Refs: #143
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
明示的パス指定ではなくruntimeInputsでbashの存在を保証する
アプローチに変更。writeShellApplicationのPATHにbashが含まれる。

Refs: #143
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
flake.nixではbuildがappsとして定義されているため、
packagesを参照するnix buildではなくnix runを使用する必要がある。
また、script/run.shにnix runコマンドを追加。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ShellCheckによるシェルスクリプト検証ワークフローを復元。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@shunsock shunsock merged commit a76459f into master Mar 19, 2026
1 of 2 checks passed
@shunsock shunsock deleted the feat/nix-run-support branch March 19, 2026 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants