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

appveyor: save build artifacts (WIP) #3103

Closed
wants to merge 1 commit into from

Conversation

jay
Copy link
Member

@jay jay commented Oct 5, 2018

  • Save what is built by appveyor so it can be downloaded.

Being able to download what is built may help reproduce issues only
seen in appveyor that can't be reproduced locally. This way maybe we'll
be able to determine if it has something to do with the way it's being
built or the way it's being run.

Ref: #3100 (comment)

Closes #xxxx


WIP: trying this out to see if it works...

/cc @MarcelRaad

- Save what is built by appveyor so it can be downloaded.

Being able to download what is built may help reproduce issues only
seen in appveyor that can't be reproduced locally. This way maybe we'll
be able to determine if it has something to do with the way it's being
built or the way it's being run.

Ref: curl#3100 (comment)

Closes #xxxx
@bagder
Copy link
Member

bagder commented Oct 6, 2018

only the flaky 2100 failed on travis, ignore that. #3108 will hopefully fix that soon.

Copy link
Member

@MarcelRaad MarcelRaad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, this actually works!

@jay
Copy link
Member Author

jay commented Oct 16, 2018

I don't see an easy way to pull out the right dependencies as well. Like for 64-bit with OpenSSL we need at least ssleay and libeay from the 64-bit version which I guess are going to be in C:\OpenSSL-Win64. There would have to be some conditional I think that sets variables like $env:OSSL_LIBEAY_PATH and then in artifacts -path: $(OSSL_LIBEAY_PATH). Not very versatile. A better way would be grab the paths of all the 3rd party dependencies from memory and then zip those files. There's start-process -PassThru curl | get-process -module but it doesn't build the tree. Dependency walker maybe.

@MarcelRaad
Copy link
Member

The paths are well defined:
https://www.appveyor.com/docs/windows-images-software/#tools
So maybe hardcoding them would be sufficient.

@jay
Copy link
Member Author

jay commented Oct 16, 2018

Yeah they're well defined but for example we need a 32-bit OpenSSL for a 32-bit libcurl w/OPENSSL ON and 64-bit for 64-bit etc, and AFAICT that's going to require some code.

jay added a commit to jay/curl that referenced this pull request Nov 1, 2018
- Add an undocumented diagnostic option to show the full paths of all
  loaded modules regardless of whether or not libcurl initialization
  succeeds.

This is needed so that in the CI we can get a list of all DLL
dependencies after initialization (when they're most likely to have
finished loading) and then package them as artifacts so that a
functioning build can be downloaded. Also I imagine it may have some use
as a diagnostic for help requests.

Ref: curl#3103

Closes #xxxx
jay added a commit that referenced this pull request Nov 6, 2018
- Add an undocumented diagnostic option for Windows to show the full
  paths of all loaded modules regardless of whether or not libcurl
  initialization succeeds.

This is needed so that in the CI we can get a list of all DLL
dependencies after initialization (when they're most likely to have
finished loading) and then package them as artifacts so that a
functioning build can be downloaded. Also I imagine it may have some use
as a diagnostic for help requests.

Ref: #3103

Closes #3208
@KangLin
Copy link

KangLin commented Nov 8, 2018

I think to compile OPENSSL together. Because there may be incompatibilities between different versions of the same compiler. So that:

  1. Let the openssl project team also generate the downloaded library in their ci, then we are download it in the project.
  2. Here we recompile openssl

I used the second method in the project
RabbitThirdLibrary( https://github.com/KangLin/RabbitThirdLibrary ).

@bagder
Copy link
Member

bagder commented Jan 9, 2019

Anyone feel like pulling this forward to merge or should we just put it in the TODO file and close for now?

@bagder
Copy link
Member

bagder commented Feb 13, 2019

Abandoned. Closing.

@bagder bagder closed this Feb 13, 2019
@lock lock bot locked as resolved and limited conversation to collaborators May 14, 2019
@jay jay deleted the save_appveyor_artifacts branch November 28, 2022 03:25
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

Successfully merging this pull request may close these issues.

None yet

4 participants