name: MacOS 11.7 Big Sur x86-64 Compile on: [push,workflow_dispatch,workflow_call] jobs: build: runs-on: macos-11 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 openssl@1.1 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=11.7 -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-11.7 path: artifacts