build_wamr_sdk.yml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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: generate wamr-sdk release
  57. run: |
  58. cd ./wamr-app-framework/wamr-sdk
  59. ./build_sdk.sh -n wamr-sdk -x $(pwd)/${{ inputs.config_file }}
  60. working-directory: wamr-sdk
  61. - name: compress the binary
  62. run: |
  63. cd wamr-app-framework/wamr-sdk/out
  64. tar czf wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamr-sdk
  65. zip -r wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamr-sdk
  66. working-directory: wamr-sdk
  67. - name: upload release tar.gz
  68. uses: actions/upload-release-asset@v1
  69. env:
  70. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  71. with:
  72. upload_url: ${{ inputs.upload_url }}
  73. asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
  74. asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
  75. asset_content_type: application/x-gzip
  76. - name: upload release zip
  77. uses: actions/upload-release-asset@v1
  78. env:
  79. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  80. with:
  81. upload_url: ${{ inputs.upload_url }}
  82. asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
  83. asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
  84. asset_content_type: application/zip
  85. - name: delete wamr-app-framework
  86. run: |
  87. rm -rf wamr-app-framework
  88. working-directory: wamr-sdk