1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
ton/.github/workflows/ubuntu-18.04-compile.yml

47 lines
1.9 KiB
YAML
Raw Normal View History

name: Ubuntu 18.04 Compile
on: [push,workflow_dispatch,workflow_call]
jobs:
build:
runs-on: ubuntu-18.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
Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability. (#580) * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * force GSL 2.7.1 version * force GSL 2.7.1 version * handle missing BLAS library * handle missing BLAS library, force GSL 2.7.1 version, build storage-daemon and storage-daemon-cli binaries * Revert "handle missing BLAS library" This reverts commit 67ebd4abfaa667204c6c9717d9593c2274e38a99. * remove GSL * remove GSL only for 18.04 * remove GSL only for 18.04 * link blas library; leave gsl * merge upstream * make more portable binaries by excluding AVX512 CPU flag * make rocksdb to produce portable binaries * make rocksdb to produce portable binaries * make rocksdb to produce portable binaries * show OS CPU flags & force AVX2 * DPORTABLE=1 and -DTON_ARCH= * DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2" * DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2" * DPORTABLE=1 and -DCMAKE_CXX_FLAGS="-mavx2" only * Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries portability. * Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability. * minor fix
2022-12-30 17:13:10 +00:00
- 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
cd build
Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability. (#580) * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * build storage-daemon and storage-daemon-cli binaries * force GSL 2.7.1 version * force GSL 2.7.1 version * handle missing BLAS library * handle missing BLAS library, force GSL 2.7.1 version, build storage-daemon and storage-daemon-cli binaries * Revert "handle missing BLAS library" This reverts commit 67ebd4abfaa667204c6c9717d9593c2274e38a99. * remove GSL * remove GSL only for 18.04 * remove GSL only for 18.04 * link blas library; leave gsl * merge upstream * make more portable binaries by excluding AVX512 CPU flag * make rocksdb to produce portable binaries * make rocksdb to produce portable binaries * make rocksdb to produce portable binaries * show OS CPU flags & force AVX2 * DPORTABLE=1 and -DTON_ARCH= * DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2" * DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2" * DPORTABLE=1 and -DCMAKE_CXX_FLAGS="-mavx2" only * Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries portability. * Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability. * minor fix
2022-12-30 17:13:10 +00:00
cmake -GNinja -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
- 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 artifacts
Add Github action to create TON release (#514) * add: TON Overflow * Create release and tag. * add permission to read GITHUB_TOKEN * register token * register token * register token * register token * correct tag name * call sub workflow and upload its artifact to the release * call sub workflow and upload its artifact to the release * define jobs dependency * add 2nd dependency; upload ubuntu and windows artifacts; show all artifacts * add 2nd dependency; upload ubuntu and windows artifacts; show all artifacts * create folder for all artifacts; download artifacts from previous workflows * add macos-compile * fix download artifacts * fix download artifacts * test all upload to release * fix bug in finding windows artifact * fix execution order * fix execution order * fix download artifact * fix download artifact * fix download artifact * fix download artifact * fix versioning * fix versioning * zip artifacts; copy macos artifacts one by one; * zip artifacts; copy macos artifacts one by one; * zip artifacts; copy macos artifacts one by one; * fix lib name in macos * Update create-release.yml * Update create-release.yml * better packing * better packing * Update win-2019-compile.yml * minor improvements * minor improvements * add ninja to macos * add ninja to windows * add ninja to windows * remove ninja grom windows * fix macos copy * reuse exising jobs * reuse existing jobs * use other ubuntu action * use other ubuntu action * add smartcont and fift libs to artifacts * GH action for release creation * update actions/checkout to v3 * sync abseil with testnet
2022-11-03 09:41:49 +00:00
cp -R crypto/smartcont artifacts/
cp -R crypto/fift/lib artifacts/
- name: Upload artifacts
uses: actions/upload-artifact@master
with:
Add Github action to create TON release (#514) * add: TON Overflow * Create release and tag. * add permission to read GITHUB_TOKEN * register token * register token * register token * register token * correct tag name * call sub workflow and upload its artifact to the release * call sub workflow and upload its artifact to the release * define jobs dependency * add 2nd dependency; upload ubuntu and windows artifacts; show all artifacts * add 2nd dependency; upload ubuntu and windows artifacts; show all artifacts * create folder for all artifacts; download artifacts from previous workflows * add macos-compile * fix download artifacts * fix download artifacts * test all upload to release * fix bug in finding windows artifact * fix execution order * fix execution order * fix download artifact * fix download artifact * fix download artifact * fix download artifact * fix versioning * fix versioning * zip artifacts; copy macos artifacts one by one; * zip artifacts; copy macos artifacts one by one; * zip artifacts; copy macos artifacts one by one; * fix lib name in macos * Update create-release.yml * Update create-release.yml * better packing * better packing * Update win-2019-compile.yml * minor improvements * minor improvements * add ninja to macos * add ninja to windows * add ninja to windows * remove ninja grom windows * fix macos copy * reuse exising jobs * reuse existing jobs * use other ubuntu action * use other ubuntu action * add smartcont and fift libs to artifacts * GH action for release creation * update actions/checkout to v3 * sync abseil with testnet
2022-11-03 09:41:49 +00:00
name: ton-ubuntu-binaries
path: artifacts