-
Notifications
You must be signed in to change notification settings - Fork 77
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
Add AppVeyor CI configuration #46
Conversation
rivy
commented
Mar 13, 2019
- includes testing to minimum working version (1.17.0)
* includes testing to minimum working version (1.17.0)
@ogham , for this happen automatically, you'll need to set up an AppVeyor project which observes this repository (similar to Travis CI; see https://www.appveyor.com/docs). A current completed test run is at https://ci.appveyor.com/project/rivy/rust-ansi-term/builds/23029890. |
This |
Well, @retep998 , I generally disagree. Although it's not as simple as the Overall, I'm just offering a working starting point for the author to help advance the windows version of this story. It could obviously be tailored, and I'm open to suggested changes... or someone else could throw up a completely different working solution. |
|
||
# "msvc" ABI setup | ||
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "i686" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" | ||
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "x86_64" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 |
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.
Why such an old Windows SDK?
- if /i "%ABI%"=="gnu" ( where gcc && gcc --version ) | ||
|
||
# "msvc" ABI setup | ||
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "i686" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" |
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.
If you ever wanted to support cross compilation from one arch to another, say to build for arm
or aarch64
, you would not be able to use the vcvars bat files as it would affect both build scripts compiled for the host architecture, and binaries compiled for the target architecture.
For crates that have C dependencies, yes getting MinGW setup correctly is important, and so your |
## * workaround for rust-lang/rust#47048 / rust-lang/rust#53454 ## !maint: remove when resolved | ||
# ** ref: <https://github.com/rust-lang/rust/issues/47048>, <https://github.com/rust-lang/rust/issues/53454> | ||
# ** egs: <https://github.com/pkgw/tectonic/commit/29686db533d8732d7d97fc94270ed33b77f29295>, <https://github.com/rukai/PF_Sandbox/blob/e842613cf9ff102dfb3fbd87381319e6e6dfe3ae/appveyor.yml> | ||
- if /i "%ABI%"=="gnu" rustup install %CHANNEL%-%ARCH%-pc-windows-msvc |
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.
It seems wasteful to have installed a toolchain with rustup up above, only to then install a different toolchain entirely here.
Hey, I signed up for AppVeyor. I'm still slowly learning how the Windows ecosystem works — as a crate maintainer I should really have more knowledge of it than I do right now. I'm going to merge this PR because I still want to have CI for Windows, and eventually I'd like to have learned the best way to do it myself. Now to see if the build works... Thanks 👍 |
I fixed a couple of things for this in PR #52, and I'm happy to help you set up a working automatic build/test system that includes windows. |
Add AppVeyor CI configuration