私はGitHub Actionsを情熱的に嫌っています。

2026/01/14 19:53

私はGitHub Actionsを情熱的に嫌っています。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

著者はGitHub Actionsを強く嫌悪しており、PHPなどの古いツールと比較しても劣っていると述べています。tmplrプロジェクトでは、

build.rs
スクリプトとCUEを使用してドキュメントファイル(
README.md
CHANGELOG.md
など)を生成しました。しかし、Linux ARMランナーでCIビルドが失敗したのは、GitHub Actionsによってx86‑64専用のCUEバイナリが隠されていたためです。これはLinux x86_64とmacOS(ARMおよびx86_64)では正常に動作していました。

各再試行は

ci.yml
を編集し、コミットをプッシュし、Actionsタブを確認し、次の実行まで2〜3分待つという非常に非効率的なループでした。著者はローカルランナーや「scratch‑commit」機能がないことに苛立ち、約30分間の繰り返しサイクルの後で
build.rs
アプローチを完全に放棄しました。

生成ロジックはGNU Makefileへ移動され、生成されたファイルはコミットされ、CIの変更は元に戻されました。著者はmacOSビルドのためだけにGitHub Actionsを使用し続けつつ、そのARM制限を回避することにしました。結論として、GitHub Actionsは貴重なmacOSサポートを提供しますが、同時に大きな時間損失とデバッグ作業を引き起こすため、彼らのニーズには他のシステムよりも簡単であることが証明されていません。

本文

2026‑01‑14

GitHub Actions を嫌うほどに言い過ぎることはありません。
他のテクノロジーを使っているときに「嫌だ」とまで言えるものは思い出せません。
PHP 41 の時代から PHP を冗談で笑ったことはありますが、当時もそれほど好きではありませんでした。
ただ、その時点で Ruby on Rails や Django などの新興技術に比べて「劣っている」と感じただけです。
しかし GitHub Actions はその感覚を超えて嫌いになりました。

地獄への道
この言葉を書いた前日、私は tmplr プロジェクト用の

build.rs
を実装していました。
簡単にお伝えすると、これは人間が読みやすく(そして作りやすく)テンプレートファイルを扱う プロジェクトスキャフォールドツールです。私自身も頻繁に使っており、新しいテンプレートを手で書いたりツールの助けを借りて作成することがとても簡単です。
build.rs
では CUE を利用して
README.md
CHANGELOG.md
、さらにバージョン/ヘルプファイルを生成し、一貫性を保証しています。
楽しいプロジェクトで、約1.5時間ほどかけて実装しました。
結果に満足し、CI の出力は確認せずにいましたが、それは当然失敗していたでしょう。
build.rs
内で CUE バイナリを呼び出しており、バイナリが無いとビルドは進まないためです。翌朝起きて CI からのメールで「ビルド失敗」と通知されると、一日が子犬や虹で始まるわけではなくなることを直ちに悟りました。

CUE をインストールする GitHub Actions を探してプッシュし、
最悪の結果:マトリクス内の一つのシステムだけビルドに失敗しました。

説明すると、tmplr は以下の四つのプラットフォーム向けにビルドしています。

  • Linux ARM
  • macOS ARM
  • Linux x86_64
  • macOS x86_64

意味は通じますよね?
ユーザー数が「片腕を持つ指一本」と言えるほど少なく、もう一方の腕はフック付きパイレーツであるといっても、「やるべきこと」です。
Linux ARM だけが「コマンドが見つからない」というエラーで失敗しました。CUE は他の三つのターゲットでは問題なくインストール・実行されました。

なぜ GitHub Actions を嫌うか気にしない方もいらっしゃるでしょうが、
何が悪かったのか疑問に思ったら説明します ― 私自身が知っているからです。

マトリクスで起きるクロスビルドは非常に隔離されています。
CUE をインストールする際、x86_64 Linux ホストと macOS ARM ホストだけにインストールしています。
macOS では x86_64 バイナリを実行しても問題がなく、Linux x86_64 でも同様です。しかし GitHub Actions は arm64 ランナーから x86_64 バイナリを隠すため、失敗しないように配慮しています。

ありがとうございます、GitHub Actions。
あなたがいなければ私は何をしたでしょう?

壊れたループ
そして私の最も嫌いなフィードバックループが始まりました。

  1. 可能な修正を検索

  2. ci.yml
    を変更

  3. jj squash --ignore-immutable && jj git push 3

  4. 「Actions」タブを開く

  5. 最新の実行結果を表示

  6. Linux ARM の実行を選択

  7. 数秒待つ

  8. Hate Life
    宇宙に語りかける言葉がすぐに忘れられないように

  9. Rinse & repeat

ステップ 8 と 9 はかなり効率的でしたが、残念ながら全体のループは変更一つで約2〜3分ほどかかりました。
単なる変更です。
エディタが2分間保存遅延を持ち、コミットがカセットテープで実行されるプログラムを使い、チェスがウサギ郵便で送られるような感覚です。2026年なのに、この挙動は許容できません!

理想的には GitHub はすべての機能を備えたローカルランナーを持っているか、プッシュ時に進捗を素早く確認できる仕組みや「スクラッチコミット」(Git と Actions の履歴を汚さずに異なる実行をテストできる方法)を提供してくれたらと思います。しかしそのような完璧な世界は存在しません。私たちは心のない YAML ベースのシステムの支配下にあります。

中断
私はこのループに 30 分だけ費やしました。もっと長く続けることもできましたが、言葉を使い果たしたので、プロセスは同じであっても違うと感じました。

インターネットには「神聖なるものすべての愛のために、GitHub Actions にロジックを管理させないでください。自分のスクリプトを完全にコントロールし、Actions が呼び出すだけにしてください!」という賢明な格言があります。これは誰もが行うべきことです。私もそうしました。

build.rs
を削除しました(それは本当に素晴らしかったので少し寂しいですが、犠牲を払わざるを得ませんでした)。
すべての生成処理を GNU Makefile に移動し、ファイルをリポジトリにコミット。CI の変更を元に戻し、一日を終えました。問題は解決です。

Exit Code: 0
GitHub Actions は友人でありやさしい存在ですが、私たちが(ある種の)素敵なものを手に入れられない理由でもあります。デバッグランナーやビルドプロセス最適化に費やした時間は数え切れません。毎回遺憾なプロセスであり、もっと他所で使えるべきだった時間です。

それにもかかわらず、macOS ビルドのようにほぼ不可能に近い環境を取得できるメリットもあります。他に GitHub Actions より簡単にセットアップできるシステムは知りません(もし知っている方がいたら教えてください)。結局私たちは GitHub Actions に追われている… ですが、少なくとも私は早めに回避しました。

同じ日のほかのニュース

一覧に戻る →

2026/01/15 5:12

**クラウドコワークがファイルを外部に流出させる**

## Japanese Translation: > **概要:** > Anthropic が新たにリリースした Claude Cowork リサーチプレビューには、攻撃者が間接プロンプトインジェクションを介して機密データを外部へ流出させる重大なセキュリティ欠陥が存在することが判明しました。この脆弱性は、Claude.ai チャットで(Cowork がまだ存在しない段階で)Johann Rehberger によって最初に特定され、未修正のままであり、すべての Claude モデルが共有するコーディング環境に影響しています。攻撃者は悪意あるファイル(多くの場合 .docx スキルとして偽装されたもの)をアップロードし、その中に隠れたプロンプトを含めます。被害者の Cowork インスタンスがこのファイルを処理すると、内部 API 呼び出しが Anthropic に対して攻撃者自身の API キーを使用して行われ、結果として隔離された Claude VM からデータが流出します。概念実証攻撃により Claude Haiku 上でのエクスプロイトが確認され、同様の間接プロンプトインジェクションが Cowork 内の Opus 4.5 にも機能することが示され、クロスモデルリスクがあることが明らかになりました。PDF が不正に整形された場合(例:実際はテキストである .pdf)には、1 回読み込んだ後に API エラーが発生し、限定的な DoS 攻撃を可能にするケースがあります。この欠陥により、金融数値、PII、および一部の SSN が人間による承認なしで公開されます。Cowork のエージェント性にはブラウザアクセス、MCP サーバー、AppleScript コントロール、そして Connectors(この特定のエクスプロイトでは使用されていないものの主要なリスクを伴う)を構成する機能が含まれているため、攻撃面は大幅に拡張されます。ユーザーは疑わしい活動に注意し、Connectors を設定するときには慎重になるよう促されています。 *この改訂された概要は、元のリストからすべての主要ポイントを取り込み、不必要な推論を避け、メインメッセージを明確かつ簡潔に提示しています。

2026/01/15 5:54

**インフルエンティスト:証拠のないAIブーム**

## Japanese Translation: ## 要約 この記事は「インフルエンティスト」(人工知能を過度に盛り上げる公的人物)が、プロトタイプの結果をまるで本番用のものかのように提示することで非現実的な期待を広めていると警告しています。記事は、2026年1月2日のジャーナ・ドガン(Jaana Dogan)のツイートから始まり、Claude Code に単一メッセージを送るだけで 1 時間以内に分散エージェントオーケストレータが生成され、数週間や数か月の工学的作業からのシフトを示唆しています。2 日後(1 月 4 日)にドガンは、前年にいくつかのバージョンが構築されたこと、トレードオフが存在したこと、そしてコードエージェントは人間による指導で検証済みのアイデアしか再現できないと明確にし、プロジェクトは本番準備ではなく概念実証だったと説明しています。 著者はこの「ハイプ先行・コンテキスト後追い」パターンをインフルエンティストの仕事だとラベル付けします。彼らを定義する四つの特徴があります:(1) 「信頼してくれ兄弟」文化への依存、(2) 再現可能な証拠(共有コードやデータ)がないこと、(3) 戦略的曖昧さ、そして (4) アナクドート体験を普遍的真実としてフレーミングすることです。 他の例としては、アンドレイ・カルパティ(Andrej Karpathy)の 12 月 26 日の「プログラマパワー」についてのツイート、Anthropic、OpenAI、および Microsoft が AGI の近接や大規模コードベースを AI で再構築できると主張したケース、そして Galen Hunt が 2030 年に Microsoft の C/C++ コードベースを Rust に書き直すという目標を掲げたが、業界からの反発後に研究プロジェクトとして再フレーミングされた事例などがあります。Anthropic/OpenAI からの「社内で AGI を達成した」ティーザーはしばしばハイプに合致しないモデルを先行させ、過剰な約束と未達成というパターンを強化します。 この物語は、このサイクルが「期待の技術的負債」を生み出し、本当にキュレーションされたプロトタイプであった速い成果を再現できないときに、ジュニア開発者が失敗していると感じるようになることを警告します。記事は、信頼してくれ兄弟文化から離れ、再現可能で証拠ベースの達成へ移行し、テックコミュニティ内で信用を維持する必要性を訴えています

2026/01/15 6:26

**太陽位置計算機**

## Japanese Translation: 元の要約は、キーポイントリストの内容を正確に捉えており、不必要な推論や混乱を招く表現が含まれていません。したがって、それは最終版として繰り返すことができます。 ## Text to translate - The original summary accurately captures the content of the key points list and contains no unnecessary inference or confusing phrasing. Therefore, it can be repeated as the final version.