-
-
Notifications
You must be signed in to change notification settings - Fork 523
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
chore: run Windows tests on a Linux container #1456
chore: run Windows tests on a Linux container #1456
Conversation
Thanks to WSL, it's possible to install Docker Desktop in the baremetal host, and for that reason we can run linux containers in the Windows machine. With that, the docker socket path will be resolved to npipe
✅ Deploy Preview for testcontainers-go ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but I am not sure that the Docker socket will be mounted into the container
Do you think we should mount it first? https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container#example-mounting-volumes-in-a-container
volumes:
- my_docker_volume:/volume_mount
- /data/my_data
- /source/directory:/destination/directory Maybe: volumes:
- //var/run/docker.sock:/var/run/docker.sock |
Kudos, SonarCloud Quality Gate passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's give it ago
Merging, as it's not affecting the current tests, and we need it to verify the test execution on Windows |
This reverts commit 59986bb.
* main: (29 commits) Add support for MongoDB testing module (testcontainers#1447) Support groups in dependabot updates (testcontainers#1459) chore: run modulegen tests on Windows (testcontainers#1478) Add default labels when Ryuk is disabled (testcontainers#1339) feat: add clickhouse module (testcontainers#1372) chore: increase timeout for go test and GH action steps (testcontainers#1475) chore: triple max timeout for the workflow run, which takes +10m (testcontainers#1474) chore(deps): bump github.com/aws dependencies in /modules/localstack (testcontainers#1472) chore(deps): bump Google emulators dependencies in /examples (testcontainers#1471) all: fix goroutine leaks (testcontainers#1358) chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 in /modules/neo4j (testcontainers#1427) chore(deps): bump github.com/tidwall/gjson from 1.14.4 to 1.15.0 in /modules/vault (testcontainers#1428) chore: add a GH action for release drafter (testcontainers#1470) chore(deps): bump mkdocs-material from 3.2.0 to 8.2.7 (testcontainers#1468) Add global testcontainers header to docs (testcontainers#1308) Simplify dependabot updates sorting (testcontainers#1460) feat: use credential helper in docker config, even if auth is empty in .docker/config.json (testcontainers#1079) chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (testcontainers#1457) Revert "chore: run Windows tests on a Linux container (testcontainers#1456)" chore: run Windows tests on a Linux container (testcontainers#1456) ...
What does this PR do?
It runs all the GH steps in the GH workflow for windows in an Alpine container. See https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container
Why is it important?
Thanks to WSL, it's possible to install Docker Desktop in the baremetal host, and for that reason we can run linux containers in the Windows machine. With that, the docker socket path will be resolved to npipe, which at this moment is the main goal that we have (Windows containers are not supported yet)
At the same time, because everything runs inside a container, the workspace will be empty, so that we should not be affected by previous runs on the same self-hosted (baremetal) machine.
Follow-ups
Other tc-lang repos consuming the Windows workers should use the same strategy. cc/ @eddumelendez @cristianrgreco @HofmeisterAn