From de6f3ded098a994c30be8766f1cb896c128ec2cf Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Thu, 21 May 2020 09:01:50 -0700 Subject: [PATCH] ci / break unittest job into small job files --- .github/workflows/unittest_linux.yml | 13 +++++ .../workflows/unittest_mac_tsan_mbedtls.yml | 15 ++++++ .../workflows/unittest_mac_tsan_openssl.yml | 15 ++++++ .../unittest_mac_tsan_sectransport.yml | 13 +++++ .../workflows/{ccpp.yml => unittest_uwp.yml} | 50 +------------------ .github/workflows/unittest_windows.yml | 17 +++++++ README.md | 7 ++- 7 files changed, 80 insertions(+), 50 deletions(-) create mode 100644 .github/workflows/unittest_linux.yml create mode 100644 .github/workflows/unittest_mac_tsan_mbedtls.yml create mode 100644 .github/workflows/unittest_mac_tsan_openssl.yml create mode 100644 .github/workflows/unittest_mac_tsan_sectransport.yml rename .github/workflows/{ccpp.yml => unittest_uwp.yml} (50%) create mode 100644 .github/workflows/unittest_windows.yml diff --git a/.github/workflows/unittest_linux.yml b/.github/workflows/unittest_linux.yml new file mode 100644 index 00000000..40b9a8a2 --- /dev/null +++ b/.github/workflows/unittest_linux.yml @@ -0,0 +1,13 @@ +name: linux +on: + push: + paths-ignore: + - 'docs/**' + +jobs: + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: make test_make + run: make test_make diff --git a/.github/workflows/unittest_mac_tsan_mbedtls.yml b/.github/workflows/unittest_mac_tsan_mbedtls.yml new file mode 100644 index 00000000..794672ee --- /dev/null +++ b/.github/workflows/unittest_mac_tsan_mbedtls.yml @@ -0,0 +1,15 @@ +name: mac_tsan_mbedtls +on: + push: + paths-ignore: + - 'docs/**' + +jobs: + mac_tsan_mbedtls: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v1 + - name: install mbedtls + run: brew install mbedtls + - name: make test + run: make test_tsan_mbedtls diff --git a/.github/workflows/unittest_mac_tsan_openssl.yml b/.github/workflows/unittest_mac_tsan_openssl.yml new file mode 100644 index 00000000..9926ec29 --- /dev/null +++ b/.github/workflows/unittest_mac_tsan_openssl.yml @@ -0,0 +1,15 @@ +name: mac_tsan_openssl +on: + push: + paths-ignore: + - 'docs/**' + +jobs: + mac_tsan_openssl: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v1 + - name: install openssl + run: brew install openssl@1.1 + - name: make test + run: make test_tsan_openssl diff --git a/.github/workflows/unittest_mac_tsan_sectransport.yml b/.github/workflows/unittest_mac_tsan_sectransport.yml new file mode 100644 index 00000000..79c6dd81 --- /dev/null +++ b/.github/workflows/unittest_mac_tsan_sectransport.yml @@ -0,0 +1,13 @@ +name: mac_tsan_sectransport +on: + push: + paths-ignore: + - 'docs/**' + +jobs: + mac_tsan_sectransport: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v1 + - name: make test_tsan + run: make test_tsan diff --git a/.github/workflows/ccpp.yml b/.github/workflows/unittest_uwp.yml similarity index 50% rename from .github/workflows/ccpp.yml rename to .github/workflows/unittest_uwp.yml index 2e82d4a4..e5d594ff 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/unittest_uwp.yml @@ -1,57 +1,10 @@ -name: unittest +name: uwp on: push: paths-ignore: - 'docs/**' jobs: - linux: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: make test_make - run: make test_make - - mac_tsan_sectransport: - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: make test_tsan - run: make test_tsan - - mac_tsan_openssl: - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: install openssl - run: brew install openssl@1.1 - - name: make test - run: make test_tsan_openssl - - mac_tsan_mbedtls: - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: install mbedtls - run: brew install mbedtls - - name: make test - run: make test_tsan_mbedtls - - windows: - runs-on: windows-latest - steps: - - uses: actions/checkout@v1 - - uses: seanmiddleditch/gha-setup-vsdevenv@master - - run: | - mkdir build - cd build - cmake -DCMAKE_CXX_COMPILER=cl.exe -DUSE_WS=1 -DUSE_TEST=1 .. - - run: cmake --build build - - # Running the unittest does not work, the binary cannot be found - #- run: ../build/test/ixwebsocket_unittest.exe - # working-directory: test - uwp: runs-on: windows-latest steps: @@ -83,4 +36,3 @@ jobs: # # Running the unittest does not work, the binary cannot be found # #- run: ../build/test/ixwebsocket_unittest.exe # # working-directory: test - diff --git a/.github/workflows/unittest_windows.yml b/.github/workflows/unittest_windows.yml new file mode 100644 index 00000000..4f3173be --- /dev/null +++ b/.github/workflows/unittest_windows.yml @@ -0,0 +1,17 @@ +name: windows +on: + push: + paths-ignore: + - 'docs/**' + +jobs: + windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - uses: seanmiddleditch/gha-setup-vsdevenv@master + - run: | + mkdir build + cd build + cmake -DCMAKE_CXX_COMPILER=cl.exe -DUSE_WS=1 -DUSE_TEST=1 .. + - run: cmake --build build diff --git a/README.md b/README.md index cf935c52..20f9563c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ ## Hello world -![Build status](https://github.com/machinezone/IXWebSocket/workflows/unittest/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/linux/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/mac_tsan_sectransport/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/mac_tsan_openssl/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/mac_tsan_mbedtls/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/windows/badge.svg) +![Build status](https://github.com/machinezone/IXWebSocket/workflows/uwp/badge.svg) IXWebSocket is a C++ library for WebSocket client and server development. It has minimal dependencies (no boost), is very simple to use and support everything you'll likely need for websocket dev (SSL, deflate compression, compiles on most platforms, etc...). HTTP client and server code is also available, but it hasn't received as much testing.