No repositório Ubuntu/WSL, desenvolvemos algumas ações do GitHub para facilitar sua vida ao executar seu CI em WSL. Isso é necessário porque os executores do GitHub não oferecem suporte a WSL. Apenas configurar uma VM do Azure também não será suficiente, porque o executor será executado na sessão 0, o que significa que os aplicativos da Microsoft Store, como o WSL, não podem ser executados.
run.cmd
em seu executor de ações).Você terminou! No entanto, seus arquivos yaml de CI precisarão de algum trabalho extra, pois você precisa alocar e desalocar a VM sob demanda. O executor precisa ser executado no Windows e não diretamente no WSL, pois as instâncias do WSL serão desligadas automaticamente, por isso implementamos alguns utilitários para instalar e atualizar o WSL e a distro, bem como para executar scripts.
Você pode encontrar essas ações e algumas explicações mais detalhadas sobre a configuração aqui.
Este repositório contém uma biblioteca muito simples src.py
com uma função que retorna resultados diferentes dentro e fora do WSL. Para testá-lo corretamente, executamos um teste em cada plataforma: