build_wamr_sdk.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. name: build wamr-sdk
  4. on:
  5. workflow_call:
  6. inputs:
  7. arch:
  8. description: arch of the release
  9. type: string
  10. required: false
  11. default: x86_64
  12. config_file:
  13. description: warm-sdk config file path
  14. type: string
  15. required: true
  16. runner:
  17. description: OS of compilation
  18. type: string
  19. required: true
  20. upload_url:
  21. description: upload binary assets to the URL of release
  22. type: string
  23. required: true
  24. ver_num:
  25. description: a semantic version number
  26. type: string
  27. required: true
  28. wasi_sdk_url:
  29. description: download WASI_SDK from this URL
  30. type: string
  31. required: true
  32. wamr_app_framework_url:
  33. description: download WAMR app framework to get wamr_sdk
  34. type: string
  35. required: true
  36. jobs:
  37. build:
  38. runs-on: ${{ inputs.runner }}
  39. steps:
  40. - uses: actions/checkout@v4
  41. - name: download wamr-app-framework
  42. run: |
  43. git clone ${{ inputs.wamr_app_framework_url }}
  44. cd wamr-app-framework
  45. git submodule init
  46. git submodule update
  47. working-directory: wamr-sdk
  48. - name: download and install wasi-sdk
  49. run: |
  50. cd /opt
  51. basename=$(basename ${{ inputs.wasi_sdk_url }})
  52. sudo wget --progress=dot:giga ${{ inputs.wasi_sdk_url }}
  53. sudo tar -xzf ${basename}
  54. sudo rm ${basename}
  55. sudo mv wasi-sdk-* wasi-sdk
  56. - name: download dependencies
  57. run: |
  58. cd ./wamr-app-framework/deps
  59. ./download.sh
  60. working-directory: wamr-sdk
  61. - name: generate wamr-sdk release
  62. run: |
  63. cd ./wamr-app-framework/wamr-sdk
  64. ./build_sdk.sh -n wamr-sdk -x $(pwd)/${{ inputs.config_file }}
  65. working-directory: wamr-sdk
  66. - name: compress the binary
  67. run: |
  68. cd wamr-app-framework/wamr-sdk/out
  69. tar czf wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamr-sdk
  70. zip -r wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamr-sdk
  71. working-directory: wamr-sdk
  72. - name: upload release tar.gz
  73. uses: actions/upload-release-asset@v1
  74. env:
  75. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  76. with:
  77. upload_url: ${{ inputs.upload_url }}
  78. asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
  79. asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
  80. asset_content_type: application/x-gzip
  81. - name: upload release zip
  82. uses: actions/upload-release-asset@v1
  83. env:
  84. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  85. with:
  86. upload_url: ${{ inputs.upload_url }}
  87. asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
  88. asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
  89. asset_content_type: application/zip
  90. - name: delete wamr-app-framework
  91. run: |
  92. rm -rf wamr-app-framework
  93. working-directory: wamr-sdk