Rework locking mechanism in blockchain-explorer. (#772) #278
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: Ubuntu Compile x86-64 | |
on: [push,workflow_dispatch,workflow_call] | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04, ubuntu-22.04] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Install libraries | |
run: | | |
sudo apt update | |
sudo apt install -y build-essential git make cmake clang libgflags-dev zlib1g-dev libssl-dev libreadline-dev libmicrohttpd-dev pkg-config libgsl-dev python3 python3-dev ninja-build | |
- name: Show CPU flags | |
run: | | |
cat /proc/cpuinfo | |
- name: Configure & Build | |
run: | | |
export CC=$(which clang) | |
export CXX=$(which clang++) | |
export CCACHE_DISABLE=1 | |
mkdir build-${{ matrix.os }} | |
cd build-${{ matrix.os }} | |
git clone https://github.com/openssl/openssl openssl_1_1_1 | |
cd openssl_1_1_1 | |
git checkout OpenSSL_1_1_1-stable | |
./config | |
make build_libs -j4 | |
cd .. | |
buildPath=`pwd` | |
cmake -GNinja -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=$buildPath/openssl_1_1_1/include -DOPENSSL_CRYPTO_LIBRARY=$buildPath/openssl_1_1_1/libcrypto.a -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" .. | |
ninja storage-daemon storage-daemon-cli fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state create-hardfork | |
- name: Find & copy binaries | |
run: | | |
mkdir artifacts-${{ matrix.os }} | |
cp build-${{ matrix.os }}/storage/storage-daemon/storage-daemon build-${{ matrix.os }}/storage/storage-daemon/storage-daemon-cli build-${{ matrix.os }}/crypto/fift build-${{ matrix.os }}/crypto/tlbc build-${{ matrix.os }}/crypto/func build-${{ matrix.os }}/crypto/create-state build-${{ matrix.os }}/validator-engine-console/validator-engine-console build-${{ matrix.os }}/tonlib/tonlib-cli build-${{ matrix.os }}/tonlib/libtonlibjson.so.0.5 build-${{ matrix.os }}/http/http-proxy build-${{ matrix.os }}/rldp-http-proxy/rldp-http-proxy build-${{ matrix.os }}/dht-server/dht-server build-${{ matrix.os }}/lite-client/lite-client build-${{ matrix.os }}/validator-engine/validator-engine build-${{ matrix.os }}/utils/generate-random-id build-${{ matrix.os }}/utils/json2tlo build-${{ matrix.os }}/adnl/adnl-proxy artifacts-${{ matrix.os }} | |
chmod +x artifacts-${{ matrix.os }}/* | |
cp -R crypto/smartcont artifacts-${{ matrix.os }} | |
cp -R crypto/fift/lib artifacts-${{ matrix.os }} | |
- name: Simple binaries test | |
run: | | |
artifacts-${{ matrix.os }}/validator-engine -V | |
artifacts-${{ matrix.os }}/lite-client -V | |
artifacts-${{ matrix.os }}/fift -V | |
artifacts-${{ matrix.os }}/func -V | |
- name: Upload artifacts | |
uses: actions/upload-artifact@master | |
with: | |
name: ton-binaries-${{ matrix.os }} | |
path: artifacts-${{ matrix.os }} |