2023年11月1日 – cocotb(コルーチンベースのテストベンチ)の新しいCIテストセットを整備したことを公式HPで発表した。
cocotbは、Pythonベースのテストベンチを使用してVerilogまたはVHDLデザインをテストするためのテストフレームワークであり、その信頼性向上と開発者の生産性向上を目指して新しいテスト環境が導入された。GitHub Actionsを使用してオープンソースおよび対象シミュレータごとのテストを実行することで、より信頼性の高いcocotbをリリース可能になった。
新しいテストセットは、PyPiにアップロードされる正確なリリースバイナリに対するすべてのテストが実行され、各シミュレータ(Riviera-PRO、Questa、Xceliumなど)に対応している。また、プルリクエストのチェックの待ち時間が1時間以上から約15分に短縮され、開発者はより迅速に変更をマージできる。
新しいCIシステムではGitHub Actionsのみを使用し、無料のランナーと独自のインフラストラクチャを組み合わせて効果的なテスト環境を構築した。AWS上で各シミュレータをホストし、テストの実行時にインフラをダイナミックにスケーリングする。このCIシステムにより、ライセンスの最大数までコンピュートノードをスケーリングし、テストがない場合はゼロまでスケーリングダウンが可能となる。
解説
1. 品質保証の強化:
新しいCIシステムにより、cocotbのリリース前に実際のバイナリを用いた包括的なテストが可能となり、特に商用シミュレータに対するテストが強化されている。これにより、リリースの信頼性が向上し、ユーザーはより安定したバージョンを利用できるようになる。
2. 開発効率の向上:
プルリクエストのチェック時間が大幅に短縮されたことで、開発者は迅速にフィードバックを得て、効率的に作業を進めることができる。これにより、開発サイクルの短縮と生産性の向上が期待される。
3. スケーラビリティとコスト効率:
新しいCIセットアップは、需要に応じてAWS EC2インスタンスを動的にスケールアップおよびスケールダウンする設計となっており、リソースの最適化とコスト効率の向上が図られている。これにより、必要なときに必要なリソースを確保し、無駄なコストの削減が可能となる。
その他のトピックス
CI
CI (Continuous Integration) は、ソフトウェア開発プロセスの一部であり、開発者がコードの変更を共有リポジトリに統合する際にテストを実行する。これにより問題が早期に発見されコード品質が維持される。CI/CDのようにCD(Continuous Delivery)とセットで扱われることが多く、CDはコードのリリースプロセスを自動化する。

コメント