CI.yaml 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. name: CI
  2. on: [push, pull_request]
  3. jobs:
  4. build:
  5. runs-on: ${{ matrix.os }}
  6. strategy:
  7. fail-fast: false
  8. matrix:
  9. include:
  10. - platform: x64
  11. configuration: release
  12. os: windows-2019
  13. WITH_LIBSODIUM: ON
  14. ENABLE_CURVE: ON
  15. CMAKE_GENERATOR: Visual Studio 16 2019
  16. MSVCVERSION: v142
  17. MSVCYEAR: vs2019
  18. ARTIFACT_NAME: v142-x64
  19. ENABLE_DRAFTS: ON
  20. # - platform: Win32
  21. # configuration: Release
  22. # os: windows-2016
  23. # WITH_LIBSODIUM: ON
  24. # ENABLE_CURVE: ON
  25. # CMAKE_GENERATOR: "Visual Studio 15 2017"
  26. # MSVCVERSION: "v141"
  27. # MSVCYEAR: "vs2017"
  28. # ARTIFACT_NAME: v141
  29. # ENABLE_DRAFTS: ON
  30. - platform: x64
  31. configuration: Release
  32. os: windows-2016
  33. WITH_LIBSODIUM: ON
  34. ENABLE_CURVE: ON
  35. CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
  36. MSVCVERSION: "v141"
  37. MSVCYEAR: "vs2017"
  38. ARTIFACT_NAME: v141-x64
  39. ENABLE_DRAFTS: ON
  40. env:
  41. platform: ${{ matrix.platform }}
  42. configuration: ${{ matrix.configuration }}
  43. WITH_LIBSODIUM: ${{ matrix.WITH_LIBSODIUM }}
  44. ENABLE_CURVE: ${{ matrix.ENABLE_CURVE }}
  45. CMAKE_GENERATOR: ${{ matrix.CMAKE_GENERATOR }}
  46. MSVCVERSION: ${{ matrix.MSVCVERSION }}
  47. MSVCYEAR: ${{ matrix.MSVCYEAR }}
  48. ARTIFACT_NAME: ${{ matrix.ARTIFACT_NAME }}
  49. ENABLE_DRAFTS: ${{ matrix.ENABLE_DRAFTS }}
  50. SODIUM_INCLUDE_DIR: ${{ github.workspace }}\libsodium\src\libsodium\include"
  51. SODIUM_LIBRARY_DIR: ${{ github.workspace }}\libsodium\bin\${{ matrix.platform }}\${{ matrix.configuration }}\${{ matrix.MSVCVERSION }}\dynamic"
  52. LIBZMQ_SRCDIR: ${{ github.workspace }}\libzmq
  53. steps:
  54. - name: Add msbuild to PATH
  55. uses: microsoft/setup-msbuild@v1.0.0
  56. if: matrix.os == 'windows-2019'
  57. - name: Add msbuild to PATH 2016
  58. run: echo "##[add-path]C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin"
  59. if: matrix.os == 'windows-2016'
  60. - uses: actions/checkout@v2
  61. if: matrix.WITH_LIBSODIUM == 'ON'
  62. with:
  63. repository: jedisct1/libsodium
  64. ref: stable
  65. path: libsodium
  66. - name: Compile libsodium
  67. if: matrix.WITH_LIBSODIUM == 'ON'
  68. shell: cmd
  69. working-directory: libsodium
  70. run: msbuild /v:minimal /p:Configuration=%Configuration%DLL builds\msvc\%MSVCYEAR%\libsodium\libsodium.vcxproj
  71. - name: Copy libsodium
  72. if: matrix.WITH_LIBSODIUM == 'ON'
  73. shell: powershell
  74. working-directory: libsodium
  75. run: Copy-Item "bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\libsodium.lib" -Destination "bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\sodium.lib"
  76. - uses: actions/checkout@v2
  77. with:
  78. path: libzmq
  79. - run: md build_libzmq
  80. shell: cmd
  81. - name: build
  82. shell: cmd
  83. working-directory: build_libzmq
  84. run: |
  85. cmake -D CMAKE_INCLUDE_PATH="%SODIUM_INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%SODIUM_LIBRARY_DIR%" -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D ENABLE_DRAFTS="%ENABLE_DRAFTS%" -D ENABLE_ANALYSIS="%ENABLE_ANALYSIS%" -D ENABLE_CURVE="%ENABLE_CURVE%" -D API_POLLER="%API_POLLER%" -D POLLER="%POLLER%" %EXTRA_FLAGS% -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D LIBZMQ_WERROR="%LIBZMQ_WERROR%" -G "%CMAKE_GENERATOR%" "%LIBZMQ_SRCDIR%"
  86. cmake --build . --config %configuration% --target install -- -verbosity:Minimal -maxcpucount
  87. - name: test
  88. shell: cmd
  89. working-directory: build_libzmq
  90. run: ctest -C "%Configuration%"