Ubuntu/WSL リポジトリでは、WSL で CI を実行する際の作業を容易にするために、いくつかの GitHub アクションを開発しました。 GitHub ランナーは WSL をサポートしていないため、これが必要になります。 Azure VM をセットアップするだけでは問題は解決しません。ランナーはセッション 0 で実行されるため、WSL などの Microsoft Store アプリケーションは実行できません。
run.cmd
バッチ ファイル)。これで完了です。ただし、オンデマンドで VM を割り当てたり割り当て解除したりする必要があるため、CI yaml ファイルには追加の作業が必要になります。 WSL インスタンスは自動的にシャットダウンするため、ランナーは WSL 上で直接実行するのではなく、Windows 上で実行する必要があります。そのため、WSL とディストリビューションをインストールおよび更新し、スクリプトを実行するためのユーティリティをいくつか実装しました。
これらのアクションと、セットアップに関するさらに詳しい説明はここで見つけることができます。
このリポジトリには、WSL 内外で異なる結果を返す関数を備えた非常に単純なライブラリsrc.py
が含まれています。適切にテストするために、各プラットフォームでテストを実行します。