compilation_on_windows.yml 3.4 KB

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