mingw.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: mingw
  2. on: [push]
  3. jobs:
  4. build:
  5. name: build
  6. strategy:
  7. matrix:
  8. os: [windows-latest]
  9. # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
  10. BUILD_TYPE: [Release, Debug]
  11. BUILD_SHARED_LIBS: [OFF]
  12. defaults:
  13. run:
  14. shell: cmd
  15. runs-on: ${{ matrix.os }}
  16. env:
  17. BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
  18. SOURCE_DIR: ${{github.workspace}}\.cache\source
  19. TOOSL_DIR: ${{github.workspace}}\.cache\tools
  20. INSTALL_DIR: ${{github.workspace}}\.cache\install_mingw_2022_02_15
  21. steps:
  22. - uses: actions/checkout@v3
  23. #with:
  24. #fetch-depth: 0
  25. - name: pacman
  26. env:
  27. PATH: C:\msys64\usr\bin
  28. run: |
  29. C:\msys64\usr\bin\pacman.exe -S --noconfirm ^
  30. mingw-w64-x86_64-cmake ^
  31. mingw-w64-x86_64-make ^
  32. mingw-w64-x86_64-nsis ^
  33. mingw-w64-x86_64-gcc ^
  34. mingw-w64-x86_64-zlib ^
  35. mingw-w64-x86_64-openssl ^
  36. mingw-w64-x86_64-libevent ^
  37. mingw-w64-x86_64-sqlite3 ^
  38. mingw-w64-x86_64-hiredis ^
  39. mingw-w64-x86_64-postgresql ^
  40. git base-devel
  41. - name: make_directory
  42. run: |
  43. cmake -E make_directory ${{env.SOURCE_DIR}}
  44. cmake -E make_directory ${{env.TOOSL_DIR}}
  45. cmake -E make_directory ${{env.INSTALL_DIR}}
  46. - name: Cache installed
  47. uses: actions/cache@v3
  48. id: cache-installed
  49. with:
  50. path: |
  51. ${{env.INSTALL_DIR}}
  52. key: coturn-cache-installed-mingw
  53. - name: build coturn
  54. working-directory: ${{github.workspace}}
  55. env:
  56. MSYSTEM: MINGW64
  57. PATH: C:\msys64\mingw64\bin;C:\msys64\usr\bin
  58. run: |
  59. cmake -E make_directory build
  60. cd build
  61. cmake .. -G"MinGW Makefiles" ^
  62. -DBUILD_SHARED_LIBS=${{matrix.BUILD_SHARED_LIBS}} ^
  63. -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^
  64. -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install
  65. cmake --build . --config ${{matrix.BUILD_TYPE}}
  66. cmake --build . --config ${{matrix.BUILD_TYPE}} --target install
  67. - name: Package
  68. if: ${{ matrix.BUILD_TYPE == 'Release' }}
  69. working-directory: ${{github.workspace}}\build
  70. run: |
  71. copy /Y ${{env.INSTALL_DIR}}\bin\*.dll install\bin
  72. copy /Y ${{env.INSTALL_DIR}}\lib\*.dll install\bin
  73. copy /Y ${{env.RUNVCPKG_VCPKG_ROOT}}\installed\${{env.RUNVCPKG_VCPKG_TRIPLET_OUT}}\bin\*.dll install\bin
  74. 7z a coturn_windows_mingw.zip ${{github.workspace}}\build\install\*
  75. cmake --build . --config ${{matrix.BUILD_TYPE}} --target package
  76. - name: update
  77. if: ${{ matrix.BUILD_TYPE == 'Release' }}
  78. uses: actions/upload-artifact@v3
  79. with:
  80. name: coturn_mingw_${{ matrix.os }}
  81. path: |
  82. ${{github.workspace}}\build\coturn_windows_mingw.zip
  83. ${{github.workspace}}\build\coturn*.exe
  84. ${{github.workspace}}\build\coturn*.md5