В репозитории Ubuntu/WSL мы разработали несколько действий GitHub, которые облегчат вам жизнь при запуске CI в WSL. Это необходимо, поскольку программы запуска GitHub не поддерживают WSL. Простая настройка виртуальной машины Azure также не поможет, поскольку средство запуска будет работать в сеансе 0, а это означает, что приложения Microsoft Store, такие как WSL, не могут быть запущены.
run.cmd
в средстве запуска действий).Все готово! Однако вашим файлам CI yaml потребуется дополнительная работа, поскольку вам необходимо выделять и освобождать виртуальную машину по требованию. Средство запуска необходимо запускать в Windows, а не непосредственно в WSL, поскольку экземпляры WSL автоматически завершают работу, поэтому мы реализовали некоторые утилиты для установки и обновления WSL и дистрибутива, а также для запуска сценариев.
Вы можете найти эти действия и более подробное объяснение настройки здесь.
Этот репозиторий содержит очень простую библиотеку src.py
с функцией, возвращающей разные результаты внутри и вне WSL. Чтобы правильно протестировать его, мы запускаем тест на каждой платформе: