v360 #180
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Publish Binary | |
on: | |
push: | |
tags-ignore: | |
- v1.* | |
branches-ignore: | |
- "**" | |
release: | |
types: [published, created] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
compile_macOS_release: | |
name: upload standard binary of macOS | |
runs-on: macos-12 | |
# runs-on: self-hosted-mac | |
# if: startsWith(github.ref,'v2') | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 5 | |
- name: install rust language | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2021-06-17 | |
override: true | |
- name: install macOS dependencies | |
run: brew install ccache libomp gmp | |
- name: configure | |
run: export SDKROOT=$(xcrun --sdk macosx --show-sdk-path) && CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_STATIC=ON | |
- name: compile | |
run: make -j2 && make tar | |
- name: tar BcosBuilder | |
run: mv tools/BcosBuilder . && tar -cvzf BcosBuilder.tgz BcosBuilder | |
- name: tar fisco-bcos for macOS | |
run: mv fisco-bcos-air/ bin/ && mv lightnode/fisco-bcos-lightnode/fisco-bcos-lightnode bin/ && cp tools/BcosAirBuilder/build_chain.sh bin/ && cd bin && strip fisco-bcos && strip fisco-bcos-lightnode && tar -cvzf lightnode.tar.gz fisco-bcos-lightnode && tar -cvzf fisco-bcos.tar.gz fisco-bcos build_chain.sh | |
- name: Upload fisco-bcos binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/fisco-bcos.tar.gz | |
asset_name: fisco-bcos-macOS-x86_64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload fisco-bcos-lightnode binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/lightnode.tar.gz | |
asset_name: fisco-bcos-lightnode-macOS-x86_64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: fisco-bcos-tars-service/BcosNodeService.tgz | |
asset_name: BcosNodeService-macOS-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosRpcService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: fisco-bcos-tars-service/BcosRpcService.tgz | |
asset_name: BcosRpcService-macOS-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosGatewayService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: fisco-bcos-tars-service/BcosGatewayService.tgz | |
asset_name: BcosGatewayService-macOS-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosMaxNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: fisco-bcos-tars-service/BcosMaxNodeService.tgz | |
asset_name: BcosMaxNodeService-macOS-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosExecutorService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: fisco-bcos-tars-service/BcosExecutorService.tgz | |
asset_name: BcosExecutorService-macOS-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload build_chain.sh | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: tools/BcosAirBuilder/build_chain.sh | |
asset_name: build_chain.sh | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosBuilder | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: BcosBuilder.tgz | |
asset_name: BcosBuilder.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
compile_centos_release: | |
name: upload standard binary of linux | |
runs-on: self-hosted-centos | |
strategy: | |
fail-fast: false | |
env: | |
VCPKG_ROOT: ~/cache/vcpkg | |
DEPS_ROOT: ~/cache/deps | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
clean: false | |
- name: yum install | |
run: | | |
sudo yum install -y -q epel-release centos-release-scl flex bison patch gmp-static glibc-static glibc-devel libzstd-devel | |
sudo yum install -y -q devtoolset-11 llvm-toolset-7.0 rh-perl530-perl cmake3 zlib-devel ccache lcov python-devel python3-devel python3-pip | |
sudo yum reinstall -y -q https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm | |
sudo yum install -y -q git | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2022-07-28 | |
override: true | |
- name: Reuse build cache | |
run: | | |
mkdir -p ./build | |
rm -rf deps | |
ln -s ${{ env.DEPS_ROOT }} deps | |
- name: Remove cache if correspond dir change | |
run: ./tools/.ci/clear_build_cache.sh | |
- name: Build for linux | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
. /opt/rh/devtoolset-11/enable | |
. /opt/rh/rh-perl530/enable | |
export LIBCLANG_PATH=/opt/rh/llvm-toolset-7.0/root/lib64/ | |
. /opt/rh/llvm-toolset-7.0/enable | |
alias cmake='cmake3' | |
cd build && cmake3 -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=OFF -DCOVERAGE=OFF -DWITH_LIGHTNODE=ON -DWITH_CPPSDK=ON -DWITH_TIKV=ON -DWITH_TARS_SERVICES=ON .. || cat *.log | |
make -j8 && make tar | |
- name: tar fisco-bcos for CentOS | |
run: mkdir -p bin && mv build/fisco-bcos-air/fisco-bcos bin && mv build/lightnode/fisco-bcos-lightnode/fisco-bcos-lightnode bin && cd bin && strip fisco-bcos && strip fisco-bcos-lightnode && tar -cvzf fisco-bcos.tar.gz fisco-bcos && tar -cvzf lightnode.tar.gz fisco-bcos-lightnode | |
- name: Upload fisco-bcos binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/fisco-bcos.tar.gz | |
asset_name: fisco-bcos-linux-x86_64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload fisco-bcos-lightnode binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/lightnode.tar.gz | |
asset_name: fisco-bcos-lightnode-linux-x86_64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosNodeService.tgz | |
asset_name: BcosNodeService-linux-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosRpcService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosRpcService.tgz | |
asset_name: BcosRpcService-linux-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosGatewayService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosGatewayService.tgz | |
asset_name: BcosGatewayService-linux-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosMaxNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosMaxNodeService.tgz | |
asset_name: BcosMaxNodeService-linux-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosExecutorService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosExecutorService.tgz | |
asset_name: BcosExecutorService-linux-x86_64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload build_chain.sh | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: tools/BcosAirBuilder/build_chain.sh | |
asset_name: build_chain.sh | |
tag: ${{ github.ref }} | |
overwrite: true | |
compile_arm_release: | |
name: upload standard binary of arm | |
runs-on: self-hosted-arm | |
strategy: | |
fail-fast: false | |
env: | |
VCPKG_ROOT: ~/cache/vcpkg | |
DEPS_ROOT: ~/cache/deps | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
clean: false | |
- name: yum install | |
run: | | |
sudo yum install -y epel-release centos-release-scl flex bison patch gmp-static java glibc-static glibc-devel libzstd-devel | |
sudo yum install -y devtoolset-10 llvm-toolset-7.0 rh-perl530-perl zlib-devel ccache lcov python-devel python3-devel python3-pip | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2022-07-28 | |
override: true | |
- name: Reuse build cache | |
run: | | |
mkdir -p ./build | |
rm -rf deps | |
ln -s ${{ env.DEPS_ROOT }} deps | |
- name: Remove cache if correspond dir change | |
run: ./tools/.ci/clear_build_cache.sh | |
- name: Build for Arm | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
. /opt/rh/devtoolset-10/enable | |
. /opt/rh/rh-perl530/enable | |
export LIBCLANG_PATH=/opt/rh/llvm-toolset-7.0/root/lib64/ | |
. /opt/rh/llvm-toolset-7.0/enable | |
alias cmake='cmake3' | |
cd build && cmake3 -DCMAKE_BUILD_TYPE=Release -DTESTS=OFF -DCOVERAGE=OFF -DWITH_LIGHTNODE=ON -DWITH_CPPSDK=ON -DWITH_TIKV=ON -DWITH_TARS_SERVICES=ON .. || cat *.log | |
make -j4 && make tar | |
- name: tar fisco-bcos for Arm | |
run: mkdir -p bin && mv build/fisco-bcos-air/fisco-bcos bin && mv build/lightnode/fisco-bcos-lightnode/fisco-bcos-lightnode bin && cd bin && strip fisco-bcos && strip fisco-bcos-lightnode && tar -cvzf fisco-bcos.tar.gz fisco-bcos && tar -cvzf lightnode.tar.gz fisco-bcos-lightnode | |
- name: Upload fisco-bcos binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/fisco-bcos.tar.gz | |
asset_name: fisco-bcos-linux-aarch64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload fisco-bcos-lightnode binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: bin/lightnode.tar.gz | |
asset_name: fisco-bcos-lightnode-linux-aarch64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosNodeService.tgz | |
asset_name: BcosNodeService-linux-aarch64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosRpcService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosRpcService.tgz | |
asset_name: BcosRpcService-linux-aarch64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosGatewayService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosGatewayService.tgz | |
asset_name: BcosGatewayService-linux-aarch64.tgz | |
tag: ${{ github.ref }} | |
verwrite: true | |
- name: Upload BcosMaxNodeService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosMaxNodeService.tgz | |
asset_name: BcosMaxNodeService-linux-aarch64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload BcosExecutorService binaries to release | |
uses: svenstaro/upload-release-action@v1-release | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/fisco-bcos-tars-service/BcosExecutorService.tgz | |
asset_name: BcosExecutorService-linux-aarch64.tgz | |
tag: ${{ github.ref }} | |
overwrite: true |