Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upInitial Windows support #320
Conversation
| @@ -231,6 +232,16 @@ arm64_factory = create_servo_factory([ | |||
| steps.Compile(command=["./mach", "build", "--rel", "--target=aarch64-unknown-linux-gnu"], env=arm64_compile_env), | |||
| ]) | |||
|
|
|||
| windows_compile_env = dict({'PATH': 'C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin\\C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Amazon\\cfn-bootstrap\\', | |||
This comment has been minimized.
This comment has been minimized.
|
Just curious: did you make any progress with #302? |
| @@ -232,7 +232,7 @@ arm64_factory = create_servo_factory([ | |||
| steps.Compile(command=["./mach", "build", "--rel", "--target=aarch64-unknown-linux-gnu"], env=arm64_compile_env), | |||
| ]) | |||
|
|
|||
| windows_compile_env = dict({'PATH': 'C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin\\C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Amazon\\cfn-bootstrap\\', | |||
| windows_compile_env = dict({'PATH': r'C:\msys64\mingw64\bin;C:\msys64\usr\bin\C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap', | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
aneeshusa
Apr 16, 2016
Member
Yes, much easier to work with. (For some reason GitHub highlights these weird, though.)
Did you remove the slash at the end on purpose?
|
And re: #302, it's going to be WAY harder than expected. buildbot requires an incredibly manual setup process (involving a bunch of manual registry key edits, a few aborted service start/restarts to create initial keys with proper permissions, etc.), so I just muscled my way through the setup manually. When we go to stand up a second machine and we're not in urgent-Windows-mode, I'd like to look at it again, because nobody should have to go through that manually. |
|
I figured as much, that sounds painful. Which version of Windows is this machine running? I think that would be valuable to document (on the wiki). |
|
Will do! I went with Windows Server 2012. I like that it's got a longer support cycle, but the lack of a start button is incredibly disturbing :-) |
| windows_compile_env = dict({'PATH': r'C:\msys64\mingw64\bin;C:\msys64\usr\bin\C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap', | ||
| 'MSYSTEM': 'MINGW64', | ||
| 'MSYS': 'winsymlinks=lnk'}, | ||
| **common_test_env) |
This comment has been minimized.
This comment has been minimized.
aneeshusa
Apr 16, 2016
Member
What about the CARGO_HOME and SERVO_CACHE_DIR environment variables we set for Linux and OS X?
(I think there's a port of ccache to windows, but we can worry about that later.)
This comment has been minimized.
This comment has been minimized.
larsbergstrom
Apr 16, 2016
Author
Contributor
I'm skipping them because we only have one build type, at least for now, and I'm trying to get something that works similarly to the current AppVeyor config (https://github.com/servo/servo/blob/master/appveyor.yml).
I really wish that we could use ccache, but it doesn't work on Windows due to known build problems with the components we pick up from Firefox. I already spent a bunch of time trying to get it working (and failing) on AppVeyor and locally.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
larsbergstrom
Apr 16, 2016
Author
Contributor
Luckily, I have 100GB of disk on this machine :-) AppVeyor's cache is only 500MB.
That said, we have no cache reduction on any of the machines, so they will all slowly accrete more cargo packages & rust/cargo binaries over time until they fill all available disk. Opening #321
|
This LGTM after a squash. Side note: As far as I can tell we haven't actually deployed any of the last 3-4 PRs to our buildbot machines. I'm sure you and @edunham both have enough on your plates already; the Homu queue only has one build right now, so can you show me exactly how to restart Buildbot cleanly to deploy this when it finishes? |
|
@bors-servo r=aneeshusa |
|
|
Initial Windows support r? @edunham @aneeshusa I don't expect it to succeed yet (windows was broken by a recent servo commit), so homu is not gated on it. But, like arm64, I'd like to get it building regularly so that I can see the output. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/320) <!-- Reviewable:end -->
|
@aneeshusa I typically just wait for the queue to empty, log in, and then I think that if we change the salt rules to push out the files but only send a |
|
OK, can I try deploying these changes? I'm logged into a tmux instance on |
|
@aneeshusa Sure! Please go right ahead, and thanks for all of the late-Friday-night reviews & chatter :-) |
|
|
|
Just deployed. BTW, I turned off the automatic buildbot-master restart in #307, so I also restarted it manually with I'm running
As well as the same message for |
|
I know that macpro1 should not be working, but I'm not sure what's going wrong here... |
|
Hrm, I re-ran the steps here: And now it's seeing |
|
Which steps in particular did you run? It's weird that a single restart didn't work properly. |
|
I attempted to run:
But it told me that the .pid file was not owned by the servo user. So I just ran it as root and the service turned over nicely :-) |
|
Also, I think something may be wrong with our |
larsbergstrom commentedApr 16, 2016
r? @edunham @aneeshusa
I don't expect it to succeed yet (windows was broken by a recent servo commit), so homu is not gated on it. But, like arm64, I'd like to get it building regularly so that I can see the output.
This change is