compilation_on_windows.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. name: compilation on windows-latest
  4. on:
  5. # will be triggered on PR events
  6. pull_request:
  7. paths-ignore:
  8. - "assembly-script/**"
  9. - "ci/**"
  10. - "doc/**"
  11. - "test-tools/**"
  12. - ".github/workflows/compilation_on_windows.yml"
  13. # will be triggered on push events
  14. push:
  15. paths-ignore:
  16. - "assembly-script/**"
  17. - "ci/**"
  18. - "doc/**"
  19. - "test-tools/**"
  20. - ".github/workflows/compilation_on_windows.yml"
  21. # allow to be triggered manually
  22. workflow_dispatch:
  23. # Cancel any in-flight jobs for the same PR/branch so there's only one active
  24. # at a time
  25. concurrency:
  26. group: ${{ github.workflow }}-${{ github.ref }}
  27. cancel-in-progress: true
  28. jobs:
  29. # Cancel any in-flight jobs for the same PR/branch so there's only one active
  30. # at a time
  31. cancel_previous:
  32. runs-on: windows-latest
  33. steps:
  34. - name: Cancel Workflow Action
  35. uses: styfle/cancel-workflow-action@0.6.0
  36. with:
  37. access_token: ${{ github.token }}
  38. build:
  39. needs: cancel_previous
  40. runs-on: windows-latest
  41. steps:
  42. - uses: actions/checkout@v2
  43. - name: clone uvwasi library
  44. run: |
  45. cd core/deps
  46. git clone https://github.com/nodejs/uvwasi.git
  47. - name: Build iwasm [default]
  48. run: |
  49. cd product-mini/platforms/windows
  50. mkdir build && cd build
  51. cmake ..
  52. cmake --build . --config Release --parallel 4
  53. cd .. && rm -force -r build
  54. - name: Build iwasm [aot only]
  55. run: |
  56. cd product-mini/platforms/windows
  57. mkdir build && cd build
  58. cmake .. -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0
  59. cmake --build . --config Release --parallel 4
  60. cd .. && rm -force -r build
  61. - name: Build iwasm [interp only]
  62. run: |
  63. cd product-mini/platforms/windows
  64. mkdir build && cd build
  65. cmake .. -DWAMR_BUILD_AOT=0
  66. cmake --build . --config Release --parallel 4
  67. cd .. && rm -force -r build
  68. - name: Build iwasm [tail call]
  69. run: |
  70. cd product-mini/platforms/windows
  71. mkdir build && cd build
  72. cmake .. -DWAMR_BUILD_TAIL_CALL=1
  73. cmake --build . --config Release --parallel 4
  74. cd .. && rm -force -r build
  75. - name: Build iwasm [custom name section]
  76. run: |
  77. cd product-mini/platforms/windows
  78. mkdir build && cd build
  79. cmake .. -DWAMR_BUILD_CUSTOM_NAME_SECTION=1
  80. cmake --build . --config Release --parallel 4
  81. cd .. && rm -force -r build
  82. - name: Build iwasm [disable hardware boundary check]
  83. run: |
  84. cd product-mini/platforms/windows
  85. mkdir build && cd build
  86. cmake .. -DWAMR_DISABLE_HW_BOUND_CHECK=1
  87. cmake --build . --config Release --parallel 4
  88. cd .. && rm -force -r build
  89. - name: Build iwasm [reference types]
  90. run: |
  91. cd product-mini/platforms/windows
  92. mkdir build && cd build
  93. cmake .. -DWAMR_BUILD_REF_TYPES=1
  94. cmake --build . --config Release --parallel 4
  95. cd .. && rm -force -r build
  96. - name: Build iwasm [128-bit SIMD]
  97. run: |
  98. cd product-mini/platforms/windows
  99. mkdir build && cd build
  100. cmake .. -DWAMR_BUILD_SIMD=1
  101. cmake --build . --config Release --parallel 4
  102. cd .. && rm -force -r build
  103. - name: Build iwasm [source debugger]
  104. run: |
  105. cd product-mini/platforms/windows
  106. mkdir build && cd build
  107. cmake .. -DWAMR_BUILD_DEBUG_INTERP=1
  108. cmake --build . --config Release --parallel 4
  109. cd .. && rm -force -r build