ソースコードをチェックし、プログラミング上の間違いやその他の過ちを見つけてくれるツールは開発者にとって有益だ。Microsoft傘下のGitHubは米国時間6月18日、コードリポジトリー上で複数の「lint」ツール(コードの静的解析ツール)を設定するという煩わしさから開発者を解放する「Super Linter」をリリースした。
Super Linterは開発ワークフローの特定の側面を自動化するツール「GitHub Actions」上に構築されており、複数のプログラミング言語を用いるプロジェクトに貢献する開発者の支援を目的としている。
GitHubの説明によるとSuper Linterは、「bashを用いてさまざまなlinterを簡潔に組み合わせ、ソースコードの検証を支援する」ツールだという。このツールによって、問題を抱えたコードが「マスターブランチ」(ツリー中の他のブランチが最終的にマージされる主要ブランチ)にアップロードされるのを防ぐ。
GitHubは先週、「Black Lives Matter」の観点から、「マスター」という用語を「メイン」などの中立的な用語に変更する取り組みを進めていることを明らかにしたが、まだ完了していないようだ。
開発者はSuper Linterを用いることで、Python、JavaScript、Go、XML、YAMLなどのプログラミング言語向けの人気lintツールを用いてコードベースの「lint」、すなわちチェックを行えるようになる。GitHubのエンジニアであるLucas Gravley氏はSuper Linterを「すべてを統べる1つのlintツール」と表現している。
Gravley氏は、「GitHubのSuper Linterは、GitHubのサービスを開発/運用するDevOpsエンジニアリングチームが必要に迫られて開発したものだ。同チームは、社内のドキュメントやコードの一貫性を維持しつつ、コミュニケーションやコラボレーションのエクスペリエンスをより生産的にすることが求められている」と説明した。
Super Linterは、開発者がコードのレイアウトとフォーマットに関するガイドラインの策定のほか、コードレビューの効率化、さらには顧客やパートナーに向けたよりクリーンなコードの提供を実現する上で役立つ。
Gravley氏は「このアクション(Super Linter)を用いるようにリポジトリーを設定しておけば、プルリクエストをオープンすると、コードのlint処理が起動し、『Status API』経由で結果が返されるようになる。これにより、コードの変更に問題がなかったのか、あるいはエラーが検出された場合にはその場所と内容が報告されるようになる」と述べた。
Super Linterは問題を修正してくれるわけではないが、問題の存在を知らせてくれるため、開発者はその変更がマスターブランチに反映される前に対応できる。
GitHubは2018年にMicrosoft傘下となったコードのホスティングサイトであり、オープンソースソフトウェアの流通と配備に向けたプロセスの自動化に向けた支援にも力を入れている。そのシステムは、Linus Torvalds氏がLinuxカーネルの開発目的で生み出したgitシステムがベースとなっている。
Torvalds氏がgitを生み出したのは、世界各地に分散している開発者の貢献によってソフトウェアがさまざまなバージョンに進化していくなか、そのバージョンを追跡/管理していく必要に迫られたためだ。
GitHubはSuper Linterの他にも、ソフトウェアの依存性に関する問題を自動的に修正する「Dependabot」といった自動化サービスを用意している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。