Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話...

GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka

オープンソースカンファレンス2025大阪の「NetBSDのご紹介」のセミナーで発表した『GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 』のスライドです。

Izumi Tsutsui

January 25, 2025
Tweet

More Decks by Izumi Tsutsui

Other Decks in Programming

Transcript

  1. NetBSDの特長  FreeBSD Press No.12「NetBSDとMI構造」 •「どんなマシンでも動かせるような実装  になっている」 ということが本質 •その思想により、各開発者が干渉せず、  全体として改善していくことができ、  それがマイナーなマシンを含む多くの

     アーキテクチャをサポートし続けること  を可能にしている •「いろんなマシンで動く」というのは  「どのマシンに対しても適用できるよう  実装する」ということの結果に過ぎない
  2. Live Image とは  Live CD の USBメモリ/エミュレータ版 USBメモリなどに書き込んでブート または

    エミュレータ用ディスクとしてブート すれば 「それなりの環境」 でNetBSDが起動するディスクイメージ
  3. GitHub Actions環境 やはりメジャーな環境が…… •Ubuntu (Linux)、 Mac OS、Windows  の環境に対応 •OSSには「ビルドのしくみ」はたいてい  あるので「ビルドが通るかどうか」の

     テストはすぐに動かせる •テストコードを書けば(書けば)  テストも自動実行可能  (AIがテストを自動で書いてくれる未来が来ると   いいですね……)
  4. netbsd-vm を使ってみて クロスビルドの恩恵がもっと欲しい •現状で amd64 と aarch64 のみ •X関連バイナリが入っていない  (CI時に追加する必要がある)

    •VMイメージがプリビルドされているので  カスタマイズがしづらい •NetBSD/vax メーリングリストで  「VAXでGitHub Actionsテストしたい」  という話がありやってみることに
  5. NetBSD各機種対応 That's NetBSD!? •simh + NetBSD/vax で動いた •QEMU + NetBSD/i386

    でも同じく動作 •QEMU + NetBSD/alhpa を動かすには  QEMUにパッチが必要  ⇒CI中にQEMUソースをgit cloneして   パッチ当ててビルド、でも普通に動く •QEMU起動方法を調べて sparc, sparc64,  earmv7hf, aarch64, macppc, hppa  と「起動すれば動く」のNetBSD無双