Update Docker build (#816) #246
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: MacOS 12.6 Monterey x86-64 Compile | |
on: [push,workflow_dispatch,workflow_call] | |
jobs: | |
build: | |
runs-on: macos-12 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Compile Secp256k1 | |
run: | | |
export NONINTERACTIVE=1 | |
brew install ninja secp256k1 libsodium libmicrohttpd pkg-config automake libtool | |
git clone https://github.com/libbitcoin/secp256k1.git | |
cd secp256k1 | |
./autogen.sh | |
./configure --enable-module-recovery | |
make | |
make install | |
- name: Build all | |
run: | | |
brew unlink [email protected] | |
brew install openssl@3 | |
brew unlink openssl@3 && brew link --overwrite openssl@3 | |
rootPath=`pwd` | |
mkdir build | |
cd build | |
cmake -GNinja -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.6 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_BUILD_TYPE=Release .. | |
ninja storage-daemon storage-daemon-cli blockchain-explorer 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 tlbc 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 build/storage/storage-daemon/storage-daemon | |
strip build/storage/storage-daemon/storage-daemon-cli | |
strip build/blockchain-explorer/blockchain-explorer | |
strip build/crypto/fift | |
strip build/crypto/func | |
strip build/crypto/create-state | |
strip build/crypto/tlbc | |
strip build/validator-engine-console/validator-engine-console | |
strip build/tonlib/tonlib-cli | |
strip build/http/http-proxy | |
strip build/rldp-http-proxy/rldp-http-proxy | |
strip build/dht-server/dht-server | |
strip build/lite-client/lite-client | |
strip build/validator-engine/validator-engine | |
strip build/utils/generate-random-id | |
strip build/utils/json2tlo | |
strip build/adnl/adnl-proxy | |
- 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 artifacts/ | |
cp build/storage/storage-daemon/storage-daemon-cli artifacts/ | |
cp build/blockchain-explorer/blockchain-explorer artifacts/ | |
cp build/crypto/fift artifacts/ | |
cp build/crypto/func artifacts/ | |
cp build/crypto/create-state artifacts/ | |
cp build/crypto/tlbc artifacts/ | |
cp build/validator-engine-console/validator-engine-console artifacts/ | |
cp build/tonlib/tonlib-cli artifacts/ | |
cp build/tonlib/libtonlibjson.0.5.dylib artifacts/libtonlibjson.dylib | |
cp build/http/http-proxy artifacts/ | |
cp build/rldp-http-proxy/rldp-http-proxy artifacts/ | |
cp build/dht-server/dht-server artifacts/ | |
cp build/lite-client/lite-client artifacts/ | |
cp build/validator-engine/validator-engine artifacts/ | |
cp build/utils/generate-random-id artifacts/ | |
cp build/utils/json2tlo artifacts/ | |
cp build/adnl/adnl-proxy artifacts/ | |
cp build/emulator/*emulator.* artifacts/ | |
chmod +x artifacts/* | |
rsync -r crypto/smartcont artifacts/ | |
rsync -r crypto/fift/lib artifacts/ | |
ls -laRt 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-macos-12.6 | |
path: artifacts |