直近5記事
GitHub CLIの一時的なトークンを使ってGitHub Packagesからdockerイメージをpullするお手軽な方法
背景 開発時にメンバーが同じDockerイメージを使ってトラブル時に簡単に問題の再現を共有できるように、雑にCIするときにGitHub PackagesにDockerイメージをpushするようにしています。 どうせCIではdocker buildしていますからね。突然Dockerイメージがビルド出来なくなったら悲惨なのでCIではどうせビルドする必要があります。それならpushしても大した時間コストにはならないので雑に行って問題ありません。 GitHub ActionsでのCIのステップの一部 push
haskell.nixのnix flake checkでHaskellの警告をエラーとして扱う
背景 haskell.nixでのプロジェクト環境でnix flake checkでPostgreSQLへのアクセスを含むテストを実行する方法 - ncaq haskell.nixでテストが無いパッケージもnix flake checkでチェックする - ncaq でnix flake checkで全体のテストを行うようにしました。 問題 nix flake checkでのビルドはデフォルトでは警告をエラーとして扱わないため、そのままではHaskellの警告が出てもCIで失敗しない。 私の思想
NixOSでWindowsとデュアルブートするならgrubを使うべき
背景 最近NixOSに移行しました。 まずラップトップPCに修理から帰ってきた後にNixOSをインストールして、その後デスクトップPCのネイティブGNU/Linux環境もNixOSにしました。 ラップトップPCのデュアルブート インストールする前に環境を記述したときはgrubを使うように設定していました。これは移行前のGentooではgrubを使っていたためです。しかしインストール時にエラーが起きたので、 Claudeに聞いてみたらsystemd-bootを使うことが推奨されました。 systemd-
haskell.nixでテストが無いパッケージもnix flake checkでチェックする
背景 前回、 haskell.nixでのプロジェクト環境でnix flake checkでPostgreSQLへのアクセスを含むテストを実行する方法 - ncaq でテストの実行環境をnix flake checkに統一しました。そうしたら20分ぐらいかかることもあるCIの実行時間をキャッシュが存分に効いているときは4分ぐらいに短縮される嬉しい結果を得ました。 しかしその後問題が起きて、 cabal buildではエラーになるのに、 nix flake checkではエラーにならないという現象が発生しまし
haskell.nixでのプロジェクト環境でnix flake checkでPostgreSQLへのアクセスを含むテストを実行する方法
背景 最近はNix Flakeで、 input-output-hk/haskell.nix: Alternative Haskell Infrastructure for Nixpkgs を使ってHaskellプロジェクトの環境構築を行っています。 問題 CIの実行が遅いし定義が複雑なことに悩まされています。 Cachix - Nix binary cache hosting は会社のお金で契約しているのですが、純粋にダウンロードが多すぎます。 なぜ多くなってしまうのかと言うと、 haskell.ni