Skip to content

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