pullrequest.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. name: Sanity Verification
  2. on: [pull_request]
  3. jobs:
  4. build-ubuntu:
  5. name: Build and Test Ubuntu Latest
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v2
  9. - name: Init submodules
  10. run: git submodule update --init --recursive
  11. - name: Build the Ubuntu Latest Docker image
  12. run: docker build . --file .ci/Dockerfile.ubuntu --tag ubuntu_debugimage:latest
  13. - name: Run tests
  14. run: docker run ubuntu_debugimage:latest ctest /build --output-on-failure
  15. build-windows:
  16. name: Static Build and Test Windows MSVC
  17. runs-on: windows-latest
  18. steps:
  19. - uses: actions/checkout@v2
  20. - name: Init submodules
  21. run: git submodule update --init --recursive
  22. - uses: shogo82148/actions-setup-perl@v1
  23. with:
  24. perl-version: '5.30'
  25. distribution: strawberry
  26. - uses: microsoft/setup-msbuild@v1.0.2
  27. with:
  28. vs-version: '16.4'
  29. - name: Install Deps
  30. run: |
  31. choco install wget golang
  32. mkdir C:\yasm
  33. wget -q http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe -O C:\yasm\yasm.exe
  34. - name: Install Qt
  35. run: |
  36. wget -q https://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe -O C:/qt-unified-windows-x86-online.exe
  37. C:/qt-unified-windows-x86-online.exe --script ./.ci/qt_installer_windows.qs -d
  38. - name: Build in Windows
  39. run: |
  40. mkdir build-static
  41. cd build-static
  42. setx GOROOT "c:\Go"
  43. setx path "%path%;C:\Qt\5.15.2\msvc2019_64\bin;C:\Go\bin;C:\yasm"
  44. set GOROOT="c:\Go"
  45. set PATH="%PATH%;C:\Qt\5.15.2\msvc2019_64\bin;C:\Go\bin;C:\yasm"
  46. cmake -DCMAKE_PREFIX_PATH="C:\Qt\5.15.2\msvc2019_64;C:\Go\bin;C:\yasm" -DBUILD_SHARED_LIBS=OFF ..
  47. cmake --build . --config Debug
  48. - name: Run tests
  49. run: |
  50. cd build-static
  51. ctest -C Debug -E grpc --output-on-failure