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

[ixwebsocket] add new port #6835

Merged
merged 13 commits into from
Jun 24, 2019

Conversation

bsergean
Copy link
Contributor

@bsergean bsergean commented Jun 9, 2019

https://github.com/machinezone/IXWebSocket

IXWebsocket is a lightweight (very few dependencies, notably no boost) client and server websocket library + http client library, with SSL and per message deflate support.

@msftclas
Copy link

msftclas commented Jun 9, 2019

CLA assistant check
All CLA requirements met.

@bsergean
Copy link
Contributor Author

bsergean commented Jun 9, 2019

FYI There is CI on the github project for macOS + Linux + windows.

I haven't explored all options ... currently mbedtls is required (and bundled) or SSL on Windows, and openssl is required on Linux (but not bundled) ; both of those dependencies could be expressed properly using vcpkg.

zlib is also required and bundled with the source on Windows.

Thanks for taking a look and making the missing package manager for C++ !

@bsergean
Copy link
Contributor Author

bsergean commented Jun 9, 2019

I don't really understand where to look for in Azure DevOps for my build error, if someone can help that would be great.

@grdowns
Copy link
Contributor

grdowns commented Jun 9, 2019

The "summary" tab has what you're looking for @bsergean
image

@bsergean
Copy link
Contributor Author

bsergean commented Jun 10, 2019 via email

@bsergean
Copy link
Contributor Author

Looks like CI is happy now, likely thanks to that change -> machinezone/IXWebSocket@750a752

@bsergean
Copy link
Contributor Author

bsergean commented Jun 10, 2019

It is not ideal the way it is, as only some libraries are only needed on some platforms (namely the SSL libraries). It looks like curl uses the concept of vcpkg optional features which I should explore.

@bsergean
Copy link
Contributor Author

I just found in the curl CONTROL file (something from debian btw ?) how to have per os deps:

Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[sectransp] (osx)

I'll try to play with that so that only minimal deps are installed.

@bsergean
Copy link
Contributor Author

That osx error looks weird. I might queue up another job.

Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
d-----        6/11/2019   4:52 AM                raw xml results                                                       
current job: 2367
baseline job: 2343
baseline commitid: d962dc7d651b563bed089f4bf9056003ebb7fe1c
merge baseline: 143ae13d28063ea404e75692083db26e02d36c66

baseline does not line up with merge, attempting to adjust to new baseline.  This is typically caused the post checkin CI tests getting backed up.
##[error] Missing log files for comparison baseline (d962dc7d651b563bed089f4bf9056003ebb7fe1c).  This may cause unrelated failures to show up in the test results. This is most likely the result of an infrastructure failure in the post checkin pipeline which creates the baseline logs. If this is the case, the fix is to manually queue a post checkin CI job (use default settings) and rerun this job when it completes.
-----------------------------------------------
##[error]Missing x64-osx test results in current test run

x64-osx results are inconclusive because it is missing logs from test


% : Cannot index into a null array.
At C:\vsts\_work\3\s\analyzeTestResults.ps1:721 char:87
+ ... r the following triplets: $($hash.Keys | %{"$($_)($($hash[$_]))"})`n"
+                                              ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [ForEach-Object], RuntimeException
    + FullyQualifiedErrorId : NullArray,Microsoft.PowerShell.Commands.ForEachObjectCommand
 
##[error]PowerShell exited with code '1'.
##[section]Finishing: Analyze results and prepare test logs

@bsergean
Copy link
Contributor Author

Provided the CI complete I'd be happy to have this merged as is to get the ball rolling.

I'll setup vcpkg on a Linux machine (I have access to those, mostly through containers), everything works well with features locally.

Unfortunately I don't have access to a windows box but was thinking about using Azure to do so. If I get access to such a box I'll try to investigate why is it I cannot use features like curl.

However I feel like this is a Azure DevOps problem, cf that same error that showed up, while everything was working fine with the same code, before I tried to setup features. Odd.

 Missing log files for comparison baseline (3fadaffacee6de7c6ddaf9a3c15e4b8996b5b1c0).  This may cause unrelated failures to show up in the test results. This is most likely the result of an infrastructure failure in the post checkin pipeline which creates the baseline logs. If this is the case, the fix is to manually queue a post checkin CI job (use default settings) and rerun this job when it completes.
Missing x64-osx test results in current test run
PowerShell exited with code '1'.

@dan-shaw
Copy link
Contributor

/azp run

@bsergean
Copy link
Contributor Author

The osx agent looks stuck ... now I'm tempted to try to use the features thing again as it could have been a fluke with the CI system.

@grdowns
Copy link
Contributor

grdowns commented Jun 15, 2019

@bsergean we're currently having some trouble with the Mac CI system. It should be back in good condition relatively soon, so feel free to keep those changes in. Thanks for bearing with us!

@bsergean
Copy link
Contributor Author

No worries ! And ironically it succeeded on Mac at that last run !

Now I'm back to a failure on Windows, which I should look into. Unfortunately the error message isn't accessible and is in a log file, which cannot be viewed easily from the web ui. It would be good to 'cat' that error file I would say when things fails on CI.

One error briefly mention ninja. Is ninja not available on Windows ? (I don't think so)

Starting package 4/4: ixwebsocket:x64-uwp
Building package ixwebsocket[core,openssl,ssl]:x64-uwp...
Could not locate cached archive: C:\vsts\_work\1\s\archives\49\496ef561f263d7ec4d1c7408573a035a081afb1e.zip
-- Using cached C:/vsts/_work/1/s/downloads/v4.0.3.tar.gz
-- Extracting source C:/vsts/_work/1/s/downloads/v4.0.3.tar.gz
-- Using source at C:/vsts/_work/1/s/buildtrees/ixwebsocket/src/v4-7afbe75f71
-- Configuring x64-uwp
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
    Command failed: ninja;-v
    Working Directory: C:/vsts/_work/1/s/buildtrees/ixwebsocket/x64-uwp-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      C:\vsts\_work\1\s\buildtrees\ixwebsocket\config-x64-uwp-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_cmake.cmake:274 (vcpkg_execute_required_process)
  ports/ixwebsocket/portfile.cmake:14 (vcpkg_configure_cmake)
  scripts/ports.cmake:71 (include)



Error: Building package ixwebsocket:x64-uwp failed with: BUILD_FAILED
Elapsed time for package ixwebsocket:x64-uwp: 26.81 s

Triplet: x64-uwp
Total elapsed time: 28.94 s
RESULTS
    zlib:x64-uwp: SUCCEEDED: 409 ms
    openssl-uwp:x64-uwp: SUCCEEDED: 1.47 s
    openssl:x64-uwp: SUCCEEDED: 243.7 ms
    ixwebsocket:x64-uwp: BUILD_FAILED: 26.81 s

SUMMARY
    SUCCEEDED: 3
    BUILD_FAILED: 1

@bsergean
Copy link
Contributor Author

Hey @grdowns I think I have finally found the proper magic in the CONTROL file and now CI is happy.

Would it be acceptable to merge as is now ?

@bsergean bsergean changed the title Add IXWebSocket port [ixwebsocket] add new port Jun 20, 2019
@dan-shaw
Copy link
Contributor

@bsergean I've changed it so that its just a call to vcpkg_from_github instead.

@bsergean
Copy link
Contributor Author

Perfect, looks cleaner that way.

@ras0219-msft ras0219-msft merged commit ecc4b16 into microsoft:master Jun 24, 2019
@ras0219-msft
Copy link
Contributor

Thanks for the PR!

@bsergean bsergean deleted the feature/ixwebsocket_add branch June 24, 2019 22:43
@bsergean
Copy link
Contributor Author

Thanks guys !

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.

5 participants