# Copyright (C) 2019 Intel Corporation. All rights reserved. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception name: build wamr-sdk on: workflow_call: inputs: arch: description: arch of the release type: string required: false default: x86_64 config_file: description: warm-sdk config file path type: string required: true runner: description: OS of compilation type: string required: true upload_url: description: upload binary assets to the URL of release type: string required: true ver_num: description: a semantic version number type: string required: true wasi_sdk_url: description: download WASI_SDK from this URL type: string required: true wamr_app_framework_url: description: download WAMR app framework to get wamr_sdk type: string required: true permissions: contents: read jobs: build: runs-on: ${{ inputs.runner }} permissions: contents: write # for uploading release artifacts steps: - uses: actions/checkout@v4 - name: download wamr-app-framework run: | git clone ${{ inputs.wamr_app_framework_url }} cd wamr-app-framework git submodule init git submodule update working-directory: wamr-sdk - name: download and install wasi-sdk run: | cd /opt basename=$(basename ${{ inputs.wasi_sdk_url }}) sudo wget --progress=dot:giga ${{ inputs.wasi_sdk_url }} sudo tar -xzf ${basename} sudo rm ${basename} sudo mv wasi-sdk-* wasi-sdk - name: download dependencies run: | cd ./wamr-app-framework/deps ./download.sh working-directory: wamr-sdk - name: generate wamr-sdk release run: | cd ./wamr-app-framework/wamr-sdk ./build_sdk.sh -n wamr-sdk -x $(pwd)/${{ inputs.config_file }} working-directory: wamr-sdk - name: compress the binary run: | cd wamr-app-framework/wamr-sdk/out tar czf wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamr-sdk zip -r wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamr-sdk working-directory: wamr-sdk - name: upload release tar.gz uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ inputs.upload_url }} asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz asset_content_type: application/x-gzip - name: upload release zip uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ inputs.upload_url }} asset_path: wamr-sdk/wamr-app-framework/wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip asset_content_type: application/zip - name: delete wamr-app-framework run: | rm -rf wamr-app-framework working-directory: wamr-sdk