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

[WIP] Improve windows CI build, CI for windows shared #353

Open
wants to merge 31 commits into
base: master
Choose a base branch
from

Conversation

TYoungSL
Copy link
Contributor

@TYoungSL TYoungSL commented Jan 12, 2022

Vcpkg fixes and updates.

Windows build uses PCRE2 (fixes shared linkage issues) with fallback to PCRE.

Changed to VS 2022 AppVeyor CI images to use newer vcpkg.

Fixes shared linkage issues when building bin targets and tests.

Adds a 10 minute test kill on windows appveyor test runs since CMake's test timeouts don't work on Windows.

Adds build-tests target to build tests without running them.

CI now runs perf_server / perf_client for a quick 100MB shot across localhost. (1.5s on linux, 3-5s on mac, longer on windows) using simple generated self-signed certs.

BoringSSL caching is partially restored on AppVeyor, but still must be rebuilt.

[WIP] Windows shared build currently fails some tests with SEGFAULT.

21 - frame_writer (SEGFAULT)
36 - send_headers (SEGFAULT)

[WIP] Windows shared build currently fails some tests as the total test duration exceeds 10 minutes and they are killed.

50 - stream (Failed)
51 - stream_hash (Failed)
52 - stream_A (Failed)
53 - stream_hash_A (Failed)

Don't recommend merging this one yet. Need help diagnosing the segfaults and stream test overlong duration.

add perf test after test run in appveyor-linux.yml

make boringssl cache dependent on boringssl-target.txt

cache apt's fetched libevent debs
add perf test for windows

add .gitignore for generated files

reduce build scope for windows builds through appveyor

since appveyor sometimes times out connecting to github, add 10 attempt retry to submodule update
use pcre2 over pcre on windows (avoids weird import linkage issue under shared build)

try installing debs directly from cache instead of apt updating

copy depended dlls as needed for tests, bins

fix regex lookup xplat
make wevtutil louder
…f test

remove diag code from linux and mac appveyor configs

add 5 minute timeout for tests
increase verbosity from quiet to minimal

fix dir removal failures on windows-shared

comment ldd usage

fix text errorlevel result being lost
…veyor-perf-run-vcpkg-fixes-windows-shared-pcre2

# Conflicts:
#	appveyor-linux.yml
#	appveyor-windows.cmd
@TYoungSL
Copy link
Contributor Author

TYoungSL commented Jan 12, 2022

@gwanglst do you have any idea about these tests failing?
https://ci.appveyor.com/project/StirlingLabs/lsquic-win-shared/builds/42175300

@TYoungSL TYoungSL force-pushed the feature/appveyor-perf-run-vcpkg-fixes-windows-shared-pcre2 branch from 3e5a104 to 9069f16 Compare January 12, 2022 17:17
@TYoungSL TYoungSL marked this pull request as ready for review January 21, 2022 17:07
@TYoungSL
Copy link
Contributor Author

TYoungSL commented Jan 21, 2022

I don't know why the shared tests are failing, but the PR is otherwise good to go for the existing 3 (non-shared) build paths.

Since you have to set up appveyor manually to use the appveyor-windows-shared.yml config, it'll just be inactive.

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.

1 participant