| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- name: the binary release processes
- on:
- workflow_dispatch:
- inputs:
- require_confirmation:
- description: "If the process requires a confirmation"
- type: boolean
- required: false
- default: false
- # Cancel any in-flight jobs for the same PR/branch so there's only one active
- # at a time
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
- permissions:
- contents: read
- jobs:
- create_tag:
- permissions:
- contents: write # create and push tags
- uses: ./.github/workflows/create_tag.yml
- create_release:
- permissions:
- contents: write # create release
- needs: [create_tag]
- runs-on: ubuntu-latest
- outputs:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- steps:
- - uses: actions/checkout@v4
- - name: prepare the release note
- run: |
- extract_result="$(python3 ./.github/scripts/extract_from_release_notes.py RELEASE_NOTES.md)"
- echo "RELEASE_NOTE<<EOF" >> $GITHUB_ENV
- echo "${extract_result}" >> $GITHUB_ENV
- echo "EOF" >> $GITHUB_ENV
- - name: create a release
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ needs.create_tag.outputs.new_tag }}
- release_name: ${{ needs.create_tag.outputs.new_tag }}
- prerelease: ${{ inputs.require_confirmation || needs.create_tag.outputs.minor_version }}
- draft: false
- body: ${{ env.RELEASE_NOTE }}
- #
- # LLVM_LIBRARIES
- build_llvm_libraries_on_ubuntu_2204:
- permissions:
- contents: read
- actions: write
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-22.04"
- arch: "AArch64 ARM Mips RISCV X86"
- build_llvm_libraries_on_macos:
- permissions:
- contents: read
- actions: write
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "macos-13"
- arch: "AArch64 ARM Mips RISCV X86"
- build_llvm_libraries_on_windows:
- permissions:
- contents: read
- actions: write
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "windows-latest"
- arch: "AArch64 ARM Mips RISCV X86"
- #
- # WAMRC
- release_wamrc_on_ubuntu_2204:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204 ]
- uses: ./.github/workflows/build_wamrc.yml
- with:
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- release: true
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
- release_wamrc_on_ubuntu_macos:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_macos]
- uses: ./.github/workflows/build_wamrc.yml
- with:
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }}
- release: true
- runner: macos-13
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
- release_wamrc_on_windows:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_windows]
- uses: ./.github/workflows/build_wamrc.yml
- with:
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}
- release: true
- runner: windows-latest
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
- #
- # IWASM
- release_iwasm_on_ubuntu_2204:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204]
- uses: ./.github/workflows/build_iwasm_release.yml
- with:
- cwd: product-mini/platforms/linux
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- release_iwasm_on_macos:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_macos]
- uses: ./.github/workflows/build_iwasm_release.yml
- with:
- cwd: product-mini/platforms/darwin
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }}
- runner: macos-13
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- release_iwasm_on_windows:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release, build_llvm_libraries_on_windows]
- uses: ./.github/workflows/build_iwasm_release.yml
- with:
- cwd: product-mini/platforms/windows
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}
- runner: windows-latest
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- #
- # WAMR_SDK
- release_wamr_sdk_on_ubuntu_2204:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_sdk.yml
- with:
- config_file: wamr_config_ubuntu_release.cmake
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz
- wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git
- release_wamr_sdk_on_macos:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_sdk.yml
- with:
- config_file: wamr_config_macos_release.cmake
- runner: macos-13
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-macos.tar.gz
- wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git
- # Let's disable it for now and reopen it when the actual requirement arises.
- # Please ensure all dependencies have been updated before reopening.
- #
- # # vscode extension cross-platform
- # release_wamr_ide_vscode_ext:
- # permissions:
- # contents: write # upload release artifact
- # needs: [create_tag, create_release]
- # uses: ./.github/workflows/build_wamr_vscode_ext.yml
- # secrets: inherit
- # with:
- # upload_url: ${{ needs.create_release.outputs.upload_url }}
- # ver_num: ${{ needs.create_tag.outputs.new_ver }}
- # #
- # # vscode extension docker images package
- # release_wamr_ide_docker_images_package:
- # permissions:
- # contents: write # upload release artifact
- # needs: [create_tag, create_release]
- # uses: ./.github/workflows/build_docker_images.yml
- # with:
- # upload_url: ${{ needs.create_release.outputs.upload_url }}
- # ver_num: ${{ needs.create_tag.outputs.new_ver }}
- #
- # WAMR_LLDB
- release_wamr_lldb_on_ubuntu_2204:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_lldb.yml
- with:
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
- release_wamr_lldb_on_macos_universal:
- permissions:
- contents: write # upload release artifact
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_lldb.yml
- with:
- runner: macos-13
- arch: universal
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
|