windows_comp.yml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
  2. #
  3. # Licensed under the Apache License 2.0 (the "License"). You may not use
  4. # this file except in compliance with the License. You can obtain a copy
  5. # in the file LICENSE in the source distribution or at
  6. # https://www.openssl.org/source/license.html
  7. name: Windows Compression GitHub CI
  8. on:
  9. pull_request:
  10. paths:
  11. - 'crypto/comp/*.c'
  12. push:
  13. paths:
  14. - '**.c'
  15. permissions:
  16. contents: read
  17. jobs:
  18. zstd:
  19. runs-on: windows-latest
  20. steps:
  21. - uses: actions/checkout@v4
  22. - name: checkout fuzz/corpora submodule
  23. run: git submodule update --init --depth 1 fuzz/corpora
  24. - uses: ilammy/msvc-dev-cmd@v1
  25. - uses: ilammy/setup-nasm@v1
  26. - name: prepare the build directory
  27. run: mkdir _build
  28. - name: Get zstd
  29. working-directory: _build
  30. run: |
  31. vcpkg install zstd:x64-windows
  32. - name: config
  33. working-directory: _build
  34. run: |
  35. perl ..\Configure enable-comp enable-zstd --with-zstd-include=C:\vcpkg\packages\zstd_x64-windows\include --with-zstd-lib=C:\vcpkg\packages\zstd_x64-windows\lib\zstd.lib no-makedepend VC-WIN64A
  36. perl configdata.pm --dump
  37. - name: build
  38. working-directory: _build
  39. run: nmake
  40. - name: download coreinfo
  41. uses: suisei-cn/actions-download-file@v1.6.0
  42. with:
  43. url: "https://download.sysinternals.com/files/Coreinfo.zip"
  44. target: _build/coreinfo/
  45. - name: get cpu info
  46. working-directory: _build
  47. continue-on-error: true
  48. run: |
  49. 7z.exe x coreinfo/Coreinfo.zip
  50. ./Coreinfo64.exe -accepteula -f
  51. ./apps/openssl.exe version -c
  52. - name: Check platform symbol usage
  53. run: |
  54. perl ./util/checkplatformsyms.pl ./util/platform_symbols/windows-symbols.txt libcrypto-3-x64.dll ./libssl-3-x64.dll
  55. - name: test
  56. working-directory: _build
  57. run: |
  58. $env:Path+=";C:\vcpkg\packages\zstd_x64-windows\bin"
  59. nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4
  60. brotli:
  61. runs-on: windows-latest
  62. steps:
  63. - uses: actions/checkout@v4
  64. - name: checkout fuzz/corpora submodule
  65. run: git submodule update --init --depth 1 fuzz/corpora
  66. - uses: ilammy/msvc-dev-cmd@v1
  67. - uses: ilammy/setup-nasm@v1
  68. - name: prepare the build directory
  69. run: mkdir _build
  70. - name: Get brotli
  71. working-directory: _build
  72. run: |
  73. vcpkg install brotli:x64-windows
  74. - name: config
  75. working-directory: _build
  76. run: |
  77. perl ..\Configure enable-comp enable-brotli --with-brotli-include=C:\vcpkg\packages\brotli_x64-windows\include --with-brotli-lib=C:\vcpkg\packages\brotli_x64-windows\lib no-makedepend VC-WIN64A
  78. perl configdata.pm --dump
  79. - name: build
  80. working-directory: _build
  81. run: nmake
  82. - name: download coreinfo
  83. uses: suisei-cn/actions-download-file@v1.6.0
  84. with:
  85. url: "https://download.sysinternals.com/files/Coreinfo.zip"
  86. target: _build/coreinfo/
  87. - name: get cpu info
  88. working-directory: _build
  89. continue-on-error: true
  90. run: |
  91. 7z.exe x coreinfo/Coreinfo.zip
  92. ./Coreinfo64.exe -accepteula -f
  93. ./apps/openssl.exe version -c
  94. - name: test
  95. working-directory: _build
  96. run: |
  97. $env:Path+=";C:\vcpkg\packages\brotli_x64-windows\bin"
  98. nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4