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-compile.yml

43 lines
2.1 KiB
YAML
Raw Normal View History

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: Ubuntu Compile x86-64
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
on: [push,workflow_dispatch,workflow_call]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
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
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: Configure & Build
run: |
export CC=$(which clang)
export CXX=$(which clang++)
export CCACHE_DISABLE=1
mkdir build-${{ matrix.os }}
cd build-${{ matrix.os }}
cmake -GNinja -DCMAKE_BUILD_TYPE=Release ..
ninja 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 }}/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 }}
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-${{ matrix.os }}
cp -R crypto/fift/lib artifacts-${{ matrix.os }}
- name: Upload artifacts
uses: actions/upload-artifact@master
with:
name: ton-binaries-${{ matrix.os }}
path: artifacts-${{ matrix.os }}