Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor building and testing under Windows #1829

Open
3 tasks
ssbarnea opened this issue Feb 17, 2025 · 0 comments
Open
3 tasks

Refactor building and testing under Windows #1829

ssbarnea opened this issue Feb 17, 2025 · 0 comments
Labels
bug Something isn't working important

Comments

@ssbarnea
Copy link
Member

Building and testing our extension under Windows was always problematic due to its special WSL related requirements. New changes introduced by WSL2 uncovered some serious performance problems which will require us to gradually implement the following set of changes:

  • Use native Windows build-chain instead of WSL one
  • Use a WSL based python virtual environment to install ansible-dev-tools because this is the only way to use the under windows other than the containerized form. Using native Windows python is not supported because ansible-core does not support it and it will never work.
  • Check if current python is Windows based at runtime and fail with explanatory message (will help new users a lot)

Reasoning

Filesystem access between WSL2 and Windows is extremely slow (10-50x slower than in WSL1) and this make the building of extension extreme fast, affecting webpack in particular which can take 1h 20min instead of less than 5 minutes.

Github Actions does not allow us to configure a GITHUB_WORKSPACE directly into WSL machine and most official github actions do not provide access outside the workspace. This means that the codebase will reside inside Windows and not WSL during testing.

These two facts that are outside our control, forces us to aim for using Windows for development and WSL only for the ansible-dev-tools installation, which should also be optional as some users might want to just use our extension with containers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working important
Projects
Status: No status
Development

No branches or pull requests

1 participant