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

[WIP] Add a Docker image for Windows builds #5

Merged
merged 1 commit into from
Feb 16, 2019

Conversation

ecstatic-morse
Copy link
Contributor

This is a first step to add Windows support to crater.

I've tested this on an Azure VM, and can install and build a simple rust library. However, building larger projects has not yet been tested, and crater runs do not yet work on Windows containers due to some issues with paths.

I think ultimately this repository should be split into a linux and windows directory, each with their respective containers. A more pressing issue is to get the ci scripts working and change the appveyor configuration if possible.

@pietroalbini
Copy link
Member

Thank you! This looks great!

I'll setup AppVeyor on this repository so you can add automatic publishing for the image.

@pietroalbini pietroalbini merged commit 85c036d into rust-lang:master Feb 16, 2019
@pietroalbini
Copy link
Member

AppVeyor is enabled for this repo.

bors added a commit to rust-lang/crater that referenced this pull request Jul 25, 2019
Support crater runs on Windows

Resolves #149.

This allows builds to run on [the newly added docker image](rust-lang/crates-build-env#5). In order to run successfully, you'll need to correctly [configure the Docker host](https://github.com/rust-lang/crater/blob/master/docs/agent-machine-setup-windows.md) ~~and `crater`'s `work` directory should have an ACL to enable full-access by the `"Authenticated Users"` group. This allows the container to write to the newly created `target` directories.~~

~~The changes in the first commit don't belong in the finished product: Windows' permissions are [fundamentally different than the POSIX ones](https://en.wikipedia.org/wiki/Access_control_list) so I need to think more about how to change the current API to be more cross-platform. However, `.exe`s are executable by default on Windows and user remapping isn't done within the container anyways, so my changes were enough to this PR up and running.~~

~~I couldn't get OpenSSL to link properly when building crater on Windows, despite setting `OPENSSL_DIR`, so I've temporarily reverted "switch from ring to openssl" to let me run tests. This should be un-reverted before this is merged.~~

~~The last commit points to a self-published version of the docker image, not a `rust-ops` published one. An official version can be published once I get [CI up and running](rust-lang/crates-build-env#5 (comment)) for the Windows image.~~

The concerns listed above have all been resolved. The ACL change seems to have been obsoleted by later versions of Docker on Windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants