mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-12 11:12:16 +00:00
* improve windows builds * install nasm for openssl compilation on win * install nasm for openssl compilation on win for github * add create-state, proxy-liteserver, rldp-http-proxy, http-proxy, adnl-proxy, dht-server, libtonlibjson.so and libemulator.so to docker image * build new artifacts inside Docker * add files smartcont/auto/* to docker image * build arm64 in docker branch build * improve secp256k1 build * adding natively portable binaries (all statically linked with libc++, without nixpkgs help) for x86-64 linux * install missing headers on ubuntu 20.04 * use clang-16 on ubuntu 20.04 * remove gsl for portable artifacts; add -f key to generate-random-id in order to read addr_list from file; * typo * decode json * decode json * add github workflow for appimages creation * add missing dependencies * use libc++ for appimages artifacts * typo * appimages wihtout libc++ * appimages with libc++ and some checks * add appimages to release (for testing) * add appimages to release (for testing) * add appimages to release (for testing) * add appimages to release (for testing) 2 * add appimages to release (for testing) 3 * appimages only on ubuntu 22 with ssl-3 for now * appimages only on ubuntu 20 with ssl-3 for now * appimages only on ubuntu 20 with ssl-3 for now * add export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}" to appimage AppRun * create release * appimages without jemalloc * bind specific libraries to appimages * add libreadline * add plain portable libs * add proper /lib/x86_64-linux-gnu/libreadline.so.8 * app images build with libc * try to ensure ABI compatibility with older glibc * try to ensure ABI compatibility with older glibc for shared libraries * shared lib without libc but with D_GLIBCXX_USE_CXX11_ABI and -static-libgcc -static-libstdc++ * add -fPIC -fcommon * add /lib/x86_64-linux-gnu/libstdc++.so.6 to static binaries * add -static-libgcc -static-libstdc++ to libtonlibjson and emulator when PORTABLE=1 * add -static-libgcc -static-libstdc++ to libtonlibjson and emulator when PORTABLE=1 * update emulator portable * Update CMakeLists.txt * test portable macos binaries * do not use -static-libgcc -static-libstdc++ on mac for shared libs * do not use -static-libgcc -static-libstdc++ on mac for shared libs * adjust create-release.yml * minor fixes, typos * minor fixes * linux apps double check * avoid infinite loop when place in system bin dir * avoid infinite loop when place in system bin dir 2 * test compilation on linux arm64 * test appimages on arm64 linux * test appimages on arm64 linux 2 * add portable linux arm64 to release * clean up * update README.md
63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
name: Ubuntu TON build (AppImages, x86-64)
|
|
|
|
on: [push,workflow_dispatch,workflow_call]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Install system libraries
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y build-essential git cmake ninja-build zlib1g-dev libsecp256k1-dev libmicrohttpd-dev libsodium-dev liblz4-dev
|
|
sudo apt remove libgsl-dev
|
|
|
|
- name: Install gcc-11 g++-11
|
|
run: |
|
|
sudo apt install -y manpages-dev software-properties-common
|
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
sudo apt update && sudo apt install gcc-11 g++-11
|
|
|
|
- name: Install clang-16
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x llvm.sh
|
|
sudo ./llvm.sh 16 all
|
|
|
|
- name: Build TON
|
|
run: |
|
|
git submodule sync --recursive
|
|
git submodule update
|
|
cp assembly/native/build-ubuntu-appimages.sh .
|
|
chmod +x build-ubuntu-appimages.sh
|
|
./build-ubuntu-appimages.sh -a
|
|
|
|
- name: Make AppImages
|
|
run: |
|
|
cp assembly/appimage/create-appimages.sh .
|
|
cp assembly/appimage/AppRun .
|
|
cp assembly/appimage/ton.png .
|
|
chmod +x create-appimages.sh
|
|
./create-appimages.sh x86_64
|
|
rm -rf artifacts
|
|
|
|
|
|
- name: Build TON libs
|
|
run: |
|
|
cp assembly/native/build-ubuntu-portable-libs.sh .
|
|
chmod +x build-ubuntu-portable-libs.sh
|
|
./build-ubuntu-portable-libs.sh -a
|
|
cp ./artifacts/libtonlibjson.so appimages/artifacts/
|
|
cp ./artifacts/libemulator.so appimages/artifacts/
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@master
|
|
with:
|
|
name: ton-x86_64-linux
|
|
path: appimages/artifacts
|