Closed azihassan closed 1 year ago
Tests pass for Windows : https://github.com/azihassan/youtube-d/actions/runs/6632883962
Finally got the builds to upload as a release : https://github.com/azihassan/youtube-d/actions/runs/6659550988/job/18098866672
The Windows build doesn't work on Wine due to a missing curl DLL. But since the e2e tests pass on the Windows action, I think it runs on Windows 10. Will update once I switch to Windows
It didn't work on Windows 10. The process was the same as it was with Wine : missing curl.dll, followed by SSL peer certificate or SSH remote key was not OK on handle FC2010
once the dll is downloaded. Since the e2e tests pass, I suspect this has something to do with either using LDC or the fact that it's a release build, or both.
Tested with DMD and a debug build but to no avail. I also attempted to run the same version of youtube-d as the one that worked in the powershell console but the problem persists, even with Windows Server 2019 instead of 2022. Now I'm suspecting that it might be because the test environment has dub installed.
Aaaand it's confirmed. After installing dmd on my Windows laptop, youtube-d now works like in the test action. I should find a way to make it somehow include the necessary curl libs, but I also should run the powershell tests in a separate job that doesn't install DMD beforehand.
Test that reproduces the issue : https://github.com/azihassan/youtube-d/actions/runs/6698919917/job/18202054556
Tests now pass with the libcurl.dll file I downloaded from https://downloads.dlang.org/other/
This means that the Windows release would have to be zipped with libcurl.dll
I'm second guessing my decision to go with cURL in this project. I was under the impression that it was statically included in the standard library, but I now realize it isn't the case. The documention explicitly mentions it :
Networking client functionality as provided by libcurl. The libcurl library must be installed on the system in order to use this module.
The Windows release is now being zipped with libcurl.dll. The happy path test of youtube-d -p <video url>
works on wine and on the Windows that Github provides for CI, but that single feature represents 80% of the project so I'm satisfied with it.
It would be interesting to see if youtube-d runs on Windows. For starters, I'll try adding a CI job to build and run the happy path of correctly downloading a video with -p