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

Add Windows builds to Azure #1469

Merged
merged 5 commits into from
Nov 2, 2020
Merged

Add Windows builds to Azure #1469

merged 5 commits into from
Nov 2, 2020

Conversation

Anthchirp
Copy link
Member

this doesn't produce working Windows builds yet, but lays some
groundwork. I had previously prepared these changes in a branch,
but they might as well move over into the main repository.

With 3.2 branched out of the way now seems an good time to touch the bootstrap script.

this doesn't produce working Windows builds yet, but lays some
groundwork. I had previously prepared these changes in a branch,
but they might as well move over into the main repository.
@codecov
Copy link

codecov bot commented Oct 27, 2020

Codecov Report

Merging #1469 into master will decrease coverage by 0.20%.
The diff coverage is 20.68%.

@@            Coverage Diff             @@
##           master    #1469      +/-   ##
==========================================
- Coverage   65.81%   65.61%   -0.21%     
==========================================
  Files         614      614              
  Lines       69410    69817     +407     
  Branches     9508     9674     +166     
==========================================
+ Hits        45685    45811     +126     
- Misses      21887    22159     +272     
- Partials     1838     1847       +9     

@Anthchirp
Copy link
Member Author

So: this works.

Few caveats:

  • This provides only 'light' testing on Windows
    • No regression data (for reasons that will become clear shortly)
    • 7 tests marked as xfail which need investigating
    • This only adds a single Windows build job, running on Python 3.6.
  • The environmental overhead is considerable
    • It takes 5 minutes to downgrade the pre-installed Visual Studio compilers to an older version because cbflib_adaptbx doesn't with with current generation compilers. Possible that this can be fixed, but I'm no expert on this. The plan is to get rid of cbflib_adaptbx anyway, which would probably make this go away.
    • It then takes 5 minutes to set up the Python environment. In the Linux/MacOS builds we can cache this step. Here the caching works fine, too - but when the environment is loaded from the cache it causes the cache process to crash. We can sort this, but not now.
    • While the build itself is cached, that is a very slow step. The reason for that is that the build directory is in excess of 4 GB. It is not clear why the build directory is so massive. We are likely doing something very wrong in our build. On Azure/Linux the build directory weighs in at 500 MB.
    • As the overall space limitation still applies, we should ideally address the size issue before even looking at regression testing.
    • Surprise: there are no Windows scipy builds on conda-forge. scikit-learn is also missing as it is downstream. So we pip install it instead. There is some work ongoing on this at conda-forge, but don't expect miracles any time soon. (scipy on Windows is hitting maximum build runtime limits on their CI)
  • Other notes:
    • make reconf does not work on Windows?!
    • I'm not even convinced that make does anything?! This needs verifying.
    • While we do generate code coverage statistics we don't upload them. codecov-exe should be useful here.
  • All in all this is still a very useful first step to some proper Windows build coverage.

@Anthchirp Anthchirp marked this pull request as ready for review October 28, 2020 23:15
@Anthchirp Anthchirp changed the title Improve Windows bootstrap support Add Windows builds to Azure Oct 28, 2020
@Anthchirp Anthchirp merged commit 1da150b into master Nov 2, 2020
@Anthchirp Anthchirp deleted the prepare-windows-bootstrap branch November 2, 2020 15:38
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.

None yet

1 participant