-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reworked TON portable artifacts (#1486)
* 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
- Loading branch information
Showing
25 changed files
with
718 additions
and
522 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: Ubuntu TON build (AppImages, arm64) | ||
|
||
on: [push,workflow_dispatch,workflow_call] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-22.04-arm | ||
|
||
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 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 aarch64 | ||
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-arm64-linux | ||
path: appimages/artifacts |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Ubuntu TON build (shared, arm64) | ||
|
||
on: [push,workflow_dispatch,workflow_call] | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-22.04-arm, ubuntu-24.04-arm] | ||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Install system libraries | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y build-essential git cmake ninja-build zlib1g-dev libsecp256k1-dev libmicrohttpd-dev libsodium-dev liblz4-dev libjemalloc-dev | ||
- if: matrix.os != 'ubuntu-24.04-arm' | ||
name: Install llvm-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-shared.sh . | ||
chmod +x build-ubuntu-shared.sh | ||
./build-ubuntu-shared.sh -t -a | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: ton-binaries-${{ matrix.os }} | ||
path: artifacts |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
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 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: MacOS-13 TON build (portable, x86-64) | ||
|
||
on: [push,workflow_dispatch,workflow_call] | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-13 | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Build TON | ||
run: | | ||
git submodule sync --recursive | ||
git submodule update | ||
cp assembly/native/build-macos-portable.sh . | ||
chmod +x build-macos-portable.sh | ||
./build-macos-portable.sh -t -a | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: ton-x86_64-macos | ||
path: artifacts |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: MacOS-14 TON build (portable, arm64) | ||
|
||
on: [push,workflow_dispatch,workflow_call] | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-14 | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Build TON | ||
run: | | ||
git submodule sync --recursive | ||
git submodule update | ||
cp assembly/native/build-macos-portable.sh . | ||
chmod +x build-macos-portable.sh | ||
./build-macos-portable.sh -t -a | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: ton-arm64-macos | ||
path: artifacts |
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
Oops, something went wrong.