mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-13 03:32:22 +00:00
* Bugfixes in TVM and node * Upgrade to C++17 * Improve GitHub builds * Fix existing tests and partially integrate them into builds --------- Co-authored-by: neodiX42 <namlem@gmail.com> Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
78 lines
3.5 KiB
YAML
78 lines
3.5 KiB
YAML
name: Ubuntu 22.04 Compile
|
|
|
|
on: [push,workflow_dispatch,workflow_call]
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
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 libsecp256k1-dev libsodium-dev
|
|
|
|
- name: Show CPU flags
|
|
run: |
|
|
cat /proc/cpuinfo
|
|
|
|
- name: Configure & Build
|
|
run: |
|
|
export CC=$(which clang)
|
|
export CXX=$(which clang++)
|
|
export CCACHE_DISABLE=1
|
|
|
|
git clone https://github.com/openssl/openssl openssl_3
|
|
cd openssl_3
|
|
git checkout openssl-3.1.4
|
|
./config
|
|
make build_libs -j4
|
|
|
|
cd ..
|
|
rootPath=`pwd`
|
|
mkdir build
|
|
cd build
|
|
|
|
cmake -GNinja -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=$rootPath/openssl_3/include -DOPENSSL_CRYPTO_LIBRARY=$rootPath/openssl_3/libcrypto.a -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= ..
|
|
|
|
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 emulator \
|
|
test-ed25519 test-ed25519-crypto test-bigint test-vm test-fift test-cells test-smartcont test-net test-tdactor \
|
|
test-tdutils test-tonlib-offline test-adnl test-dht test-rldp test-rldp2 test-catchain test-fec test-tddb test-db test-validator-session-state
|
|
|
|
- name: Strip binaries
|
|
run: |
|
|
strip -g build/storage/storage-daemon/storage-daemon build/storage/storage-daemon/storage-daemon-cli build/crypto/fift build/crypto/tlbc build/crypto/func build/crypto/create-state build/validator-engine-console/validator-engine-console build/tonlib/tonlib-cli build/tonlib/libtonlibjson.so.0.5 build/http/http-proxy build/rldp-http-proxy/rldp-http-proxy build/dht-server/dht-server build/lite-client/lite-client build/validator-engine/validator-engine build/utils/generate-random-id build/utils/json2tlo build/adnl/adnl-proxy build/emulator/libemulator.*
|
|
|
|
- name: Run tests
|
|
run: |
|
|
cd build
|
|
ctest --output-on-failure -E "test-catchain|test-actors"
|
|
|
|
- name: Find & copy binaries
|
|
run: |
|
|
mkdir artifacts
|
|
cp build/storage/storage-daemon/storage-daemon build/storage/storage-daemon/storage-daemon-cli build/crypto/fift build/crypto/tlbc build/crypto/func build/crypto/create-state build/validator-engine-console/validator-engine-console build/tonlib/tonlib-cli build/tonlib/libtonlibjson.so.0.5 build/http/http-proxy build/rldp-http-proxy/rldp-http-proxy build/dht-server/dht-server build/lite-client/lite-client build/validator-engine/validator-engine build/utils/generate-random-id build/utils/json2tlo build/adnl/adnl-proxy build/emulator/libemulator.* artifacts
|
|
chmod +x artifacts/*
|
|
cp -R crypto/smartcont artifacts/
|
|
cp -R crypto/fift/lib artifacts/
|
|
|
|
- name: Simple binaries test
|
|
run: |
|
|
artifacts/validator-engine -V
|
|
artifacts/lite-client -V
|
|
artifacts/fift -V
|
|
artifacts/func -V
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@master
|
|
with:
|
|
name: ton-ubuntu-binaries
|
|
path: artifacts
|