mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Add cross-platform Linux and macOS binaries (statically compiled with NixPkgs) + wasm artifacts (#621)
* fix build * nix flake * nix package * static musl build env * make all builds in static env * GH Actions nightly and static workflows * deb package * cmake install {adnl-proxy,blockchain-explorer,create-state,http-proxy,rldp-http-proxy,storage-cli} * nix flake: add static glibc build variant * GH Actions: deb-nightly-{musl,glibc_static}, tests-rolling jobs * rpm package * build blockchain-explorer * GH Actions: deb_rpm-nightly: ubuntu-{latest=>22.04} * crypto/pow-miner: skip install * ghactions: tests-rolling: show tests run, progress * ghactions: deb_rpm-nightly: add manual trigger [skip ci] * nix flake refactor * find_package=>pkg-config(zlib) FindZLIB.cmake can't find static zlib prior to CMake 3.24, so use pkg-config. * nix old glibc build * nix aarch64 support * packages: Populate APT and RPM repos at ton-repo - {deb,rpm}.sh: Separate build and install dirs - rpm.sh: Conditionally include lib/ - Accomodate local CI runs w/act * [skip ci] README packages * fix aarch64 build -Wnoerror=address * [skip ci] rpm set releasever * [skip ci] document local packages upload * m1 build: gate cpu=apple-m1 by clang version * packages: Ship musl binaries + old glibc dylibs * packages: macos build * nix: bump nixpkgs * fix windows CI build * [skip ci] nix: static aarch64 builds * packages: deb,rpm multiarch * ghactions: aarch64 musl deb,rpm build * [skip ci] deb build: deref source links, -x * [skip ci] nix darwin static build * [skip ci] nix common hostPkgs * [skip ci] brew: move formula over to homebrew-ton-repo * [skip ci] nix fix aarch64-linux build * [skip ci] ghactions: nix use GITHUB_TOKEN * [skip ci] Move from ton-repo to gh releases * [skip ci] ghactions aarch64-darwin self-hosted runner * [skip ci] ghactions deb,rpm nightly 10h timeout * [skip ci] fix brew install fixes Errno::EACCES: Permission denied @ dir_s_mkdir - /private/tmp/ton-XXX/bin/.brew_home * [skip ci] ghactions deb,rpm nightly: don't upload ton-packages as we gh release them later * [skip ci] README: brew instructions * [skip ci] nightly linux binaries release * [skip ci] packages: ship macos dylib * [skip ci] ghactions: Run Windows build nightly, upload to gh releases * nix: remove defaultPackage, switch to different oldglibc build method We used to rebuild nixpkgs-stable with old glibc, which broke on aarch64 due to its particular bootstrap toolchain. This just takes nixos 19.09's version of GCC but new dependencies, sidestepping the issue. * fix rpm release, add aur release * fix local (act) ci run * ghactions: linux-nightly: Print out SSH public keys * ghactions: bump cachix actions * nix: default devShell * [skip ci] rpm,aur: Ship lib * [skip ci] packages: windows: Remove CMake files from out * [skip ci] packages: Import chocolatey package * fixup! fix rpm release, add aur release * [skip ci] packages: aarch64-linux: build dylib as well * [skip ci] ghactions: run on self-hosted * [skip ci] ghactions: windows-nightly: Bump nodejs actions * [skip ci] nix: Only add Linux packaging tools on Linux * [skip ci] doc: document direct download binaries in README * fix tonlib android jni ci * fixup! fix tonlib android jni ci * [skip ci] ghactions: Update GH release dates Errata: doesn't update tags. * [skip ci] ghactions: Fix racy brew gh release by splitting arch * initiali commit - binaries only * fixes * fixes * fixes * fixes * remove packages dir for now * add storage-daemon storage-daemon-cli * fix emulator * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 * try macos aarch64 sh * try macos aarch64 sh * try macos aarch64 bash * try macos aarch64 bash * try macos aarch64 bash * try macos aarch64 bash * try macos aarch64 bash * try macos aarch64 bash * try macos aarch64 bash * fix funcfiftlib compilation with emscripten * fix funcfiftlib compilation with emscripten * add github action to compile TON with emscripten * add github action to compile TON with emscripten * add github action to compile TON with emscripten * add github action to compile TON with emscripten * add github action to compile TON with emscripten * add github action to compile TON with emscripten * try macos aarch64 * fix funcfiftlib compilation with emscripten * fix funcfiftlib compilation with emscripten * add github action to compile TON with emscripten * disable aarch64 github actions for now * disable aarch64 github actions for now * trigger all GH actions * trigger all GH actions 2 * trigger all GH actions 3 * trigger all GH actions 4 * trigger all GH actions 5 * put back rldp-http-proxy to win build * put back rldp-http-proxy to win build * dont use pkgConfig for zlib * fix zlib_library * use BUILD_SHARED_LIBS flag for static compilation * test 1 * test 2 * add wasm binaries to release. test 3 * add simple binaries' execution test * build emulator-emscripten * build and add into artifacts wasm tlbc and emulator-emscripten * build and add into artifacts wasm tlbc and emulator-emscripten, 2 * build and add into artifacts wasm tlbc and emulator-emscripten, 3 * build and add into artifacts wasm tlbc and emulator-emscripten, 4 * build emulator-emscripten with static libs * minor nix mac aarch64 fix * add single artifacts to release * bypass $repo to Dockerfile * add wasm artifacts to release * add wasm artifacts to release * add wasm artifacts to release * add wasm artifacts to release * add more artifacts to release; remove compilation against Ubuntu 18.04. * retrieve GITHUB_TOKEN for ton-blockchain/ton * remove binary check for arm64 --------- Co-authored-by: tonthemoon <tonthemoon@mailbox.org>
This commit is contained in:
parent
470b97fa2c
commit
5a47495d87
39 changed files with 858 additions and 180 deletions
19
.github/script/amd64-18.04.Dockerfile
vendored
19
.github/script/amd64-18.04.Dockerfile
vendored
|
@ -1,19 +0,0 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
WORKDIR /ton/build
|
||||
ENV CC clang
|
||||
ENV CXX clang++
|
||||
ENV CCACHE_DISABLE 1
|
||||
RUN cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" ..
|
||||
RUN ninja storage-daemon storage-daemon-cli tonlibjson blockchain-explorer fift func validator-engine validator-engine-console create-state generate-random-id create-hardfork dht-server lite-client
|
5
.github/script/amd64-20.04.Dockerfile
vendored
5
.github/script/amd64-20.04.Dockerfile
vendored
|
@ -2,12 +2,13 @@ FROM ubuntu:20.04
|
|||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build pkg-config
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
ARG REPO
|
||||
RUN git clone --recurse-submodules https://github.com/$REPO && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
|
|
5
.github/script/amd64-22.04.Dockerfile
vendored
5
.github/script/amd64-22.04.Dockerfile
vendored
|
@ -2,12 +2,13 @@ FROM ubuntu:22.04
|
|||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build pkg-config
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
ARG REPO
|
||||
RUN git clone --recurse-submodules https://github.com/$REPO && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
|
|
19
.github/script/arm64-18.04.Dockerfile
vendored
19
.github/script/arm64-18.04.Dockerfile
vendored
|
@ -1,19 +0,0 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
WORKDIR /ton/build
|
||||
ENV CC clang
|
||||
ENV CXX clang++
|
||||
ENV CCACHE_DISABLE 1
|
||||
RUN cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= ..
|
||||
RUN ninja storage-daemon storage-daemon-cli tonlibjson blockchain-explorer fift func validator-engine validator-engine-console create-state generate-random-id dht-server lite-client
|
5
.github/script/arm64-20.04.Dockerfile
vendored
5
.github/script/arm64-20.04.Dockerfile
vendored
|
@ -2,12 +2,13 @@ FROM ubuntu:20.04
|
|||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build pkg-config
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
ARG REPO
|
||||
RUN git clone --recurse-submodules https://github.com/$REPO && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
|
|
5
.github/script/arm64-22.04.Dockerfile
vendored
5
.github/script/arm64-22.04.Dockerfile
vendored
|
@ -2,12 +2,13 @@ FROM ubuntu:22.04
|
|||
|
||||
RUN apt update
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build
|
||||
RUN apt install -y build-essential cmake clang openssl libssl-dev zlib1g-dev gperf wget git curl libreadline-dev ccache libmicrohttpd-dev ninja-build pkg-config
|
||||
|
||||
WORKDIR /
|
||||
|
||||
ARG BRANCH
|
||||
RUN git clone --recurse-submodules https://github.com/ton-blockchain/ton.git && cd ton && git checkout $BRANCH
|
||||
ARG REPO
|
||||
RUN git clone --recurse-submodules https://github.com/$REPO && cd ton && git checkout $BRANCH
|
||||
|
||||
WORKDIR /ton
|
||||
RUN mkdir /ton/build
|
||||
|
|
56
.github/script/fift-func-wasm-build-ubuntu.sh
vendored
56
.github/script/fift-func-wasm-build-ubuntu.sh
vendored
|
@ -1,50 +1,48 @@
|
|||
# The script build funcfift compiler to WASM
|
||||
# The script builds funcfift compiler to WASM
|
||||
|
||||
# dependencies:
|
||||
#sudo apt-get 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 python3-pip nodejs
|
||||
#sudo apt-get 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 python3-pip nodejs libevent-dev
|
||||
|
||||
export CC=$(which clang)
|
||||
export CXX=$(which clang++)
|
||||
export CCACHE_DISABLE=1
|
||||
|
||||
cd ../..
|
||||
rm -rf openssl zlib emsdk build
|
||||
echo `pwd`
|
||||
|
||||
git clone https://github.com/openssl/openssl.git
|
||||
cd openssl
|
||||
git checkout OpenSSL_1_1_1j
|
||||
|
||||
./config
|
||||
make -j4
|
||||
|
||||
make -j16
|
||||
OPENSSL_DIR=`pwd`
|
||||
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/madler/zlib.git
|
||||
cd zlib
|
||||
ZLIB_DIR=`pwd`
|
||||
|
||||
cd ..
|
||||
|
||||
# clone ton repo
|
||||
git clone --recursive https://github.com/the-ton-tech/ton-blockchain.git
|
||||
|
||||
# only to generate auto-block.cpp
|
||||
|
||||
cd ton-blockchain
|
||||
git pull
|
||||
git checkout 1566a23b2bece49fd1de9ab2f35e88297d22829f
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.so -DZLIB_INCLUDE_DIR=$ZLIB_DIR -DOPENSSL_ROOT_DIR=$OPENSSL_DIR -DOPENSSL_INCLUDE_DIR=$OPENSSL_DIR/include -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_DIR/libcrypto.so -DOPENSSL_SSL_LIBRARY=$OPENSSL_DIR/libssl.so ..
|
||||
make -j4 fift
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.so -DZLIB_INCLUDE_DIR=$ZLIB_DIR -DOPENSSL_ROOT_DIR=$OPENSSL_DIR -DOPENSSL_INCLUDE_DIR=$OPENSSL_DIR/include -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_DIR/libcrypto.so -DOPENSSL_SSL_LIBRARY=$OPENSSL_DIR/libssl.so -DTON_USE_ABSEIL=OFF ..
|
||||
|
||||
test $? -eq 0 || { echo "Can't configure TON build"; exit 1; }
|
||||
|
||||
|
||||
ninja fift smc-envelope
|
||||
|
||||
test $? -eq 0 || { echo "Can't compile fift "; exit 1; }
|
||||
|
||||
rm -rf *
|
||||
|
||||
cd ../..
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/emscripten-core/emsdk.git
|
||||
cd emsdk
|
||||
./emsdk install latest
|
||||
./emsdk activate latest
|
||||
./emsdk install 3.1.19
|
||||
./emsdk activate 3.1.19
|
||||
EMSDK_DIR=`pwd`
|
||||
|
||||
source $EMSDK_DIR/emsdk_env.sh
|
||||
|
@ -55,7 +53,8 @@ export CCACHE_DISABLE=1
|
|||
cd ../zlib
|
||||
|
||||
emconfigure ./configure --static
|
||||
emmake make -j4
|
||||
emmake make -j16
|
||||
test $? -eq 0 || { echo "Can't compile zlib with emmake "; exit 1; }
|
||||
ZLIB_DIR=`pwd`
|
||||
|
||||
cd ../openssl
|
||||
|
@ -66,14 +65,13 @@ sed -i 's/CROSS_COMPILE=.*/CROSS_COMPILE=/g' Makefile
|
|||
sed -i 's/-ldl//g' Makefile
|
||||
sed -i 's/-O3/-Os/g' Makefile
|
||||
emmake make depend
|
||||
emmake make -j4
|
||||
|
||||
cd ../ton-blockchain
|
||||
|
||||
cd build
|
||||
|
||||
emcmake cmake -DUSE_EMSCRIPTEN=ON -DCMAKE_BUILD_TYPE=Release -DZLIB_LIBRARY=$ZLIB_DIR/libz.a -DZLIB_INCLUDE_DIR=$ZLIB_DIR -DOPENSSL_ROOT_DIR=$OPENSSL_DIR -DOPENSSL_INCLUDE_DIR=$OPENSSL_DIR/include -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_DIR/libcrypto.a -DOPENSSL_SSL_LIBRARY=$OPENSSL_DIR/libssl.a -DCMAKE_TOOLCHAIN_FILE=$EMSDK_DIR/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CXX_FLAGS="-pthread -sUSE_ZLIB=1" ..
|
||||
emmake make -j16
|
||||
test $? -eq 0 || { echo "Can't compile OpenSSL with emmake "; exit 1; }
|
||||
cd ../build
|
||||
|
||||
emcmake cmake -DUSE_EMSCRIPTEN=ON -DCMAKE_BUILD_TYPE=Release -DZLIB_LIBRARY=$ZLIB_DIR/libz.a -DZLIB_INCLUDE_DIR=$ZLIB_DIR -DOPENSSL_ROOT_DIR=$OPENSSL_DIR -DOPENSSL_INCLUDE_DIR=$OPENSSL_DIR/include -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_DIR/libcrypto.a -DOPENSSL_SSL_LIBRARY=$OPENSSL_DIR/libssl.a -DCMAKE_TOOLCHAIN_FILE=$EMSDK_DIR/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CXX_FLAGS="-sUSE_ZLIB=1" ..
|
||||
test $? -eq 0 || { echo "Can't configure TON with with emmake "; exit 1; }
|
||||
cp -R ../crypto/smartcont ../crypto/fift/lib crypto
|
||||
|
||||
emmake make -j4 funcfiftlib
|
||||
emmake make -j16 funcfiftlib func fift tlbc emulator-emscripten
|
||||
|
||||
|
|
310
.github/workflows/create-release.yml
vendored
310
.github/workflows/create-release.yml
vendored
|
@ -11,42 +11,69 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Show all artifacts
|
||||
run: |
|
||||
mkdir artifacts
|
||||
ls -lart artifacts
|
||||
|
||||
- name: Download Ubuntu x86-64 artifacts
|
||||
- name: Download Linux x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ubuntu-compile.yml
|
||||
workflow: ton-x86-64-linux.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download Ubuntu arm64 artifacts
|
||||
- name: Download and unzip Linux x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: docker-compile-ubuntu.yml
|
||||
workflow: ton-x86-64-linux.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: false
|
||||
|
||||
# - name: Download Linux arm64 artifacts
|
||||
# uses: dawidd6/action-download-artifact@v2
|
||||
# with:
|
||||
# workflow: ton-aarch64-linux.yml
|
||||
# path: artifacts
|
||||
# workflow_conclusion: success
|
||||
# skip_unpack: true
|
||||
#
|
||||
# - name: Download and unzip Linux arm64 artifacts
|
||||
# uses: dawidd6/action-download-artifact@v2
|
||||
# with:
|
||||
# workflow: ton-aarch64-linux.yml
|
||||
# path: artifacts
|
||||
# workflow_conclusion: success
|
||||
# skip_unpack: false
|
||||
|
||||
- name: Download Mac x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ton-x86-64-macos.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download MacOS 11.7 artifacts
|
||||
- name: Download and unzip Mac x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: macos-11.7-compile.yml
|
||||
workflow: ton-x86-64-macos.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
skip_unpack: false
|
||||
|
||||
- name: Download MacOS 12.6 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: macos-12.6-compile.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
# - name: Download Mac arm64 artifacts
|
||||
# uses: dawidd6/action-download-artifact@v2
|
||||
# with:
|
||||
# workflow: ton-aarch64-macos.yml
|
||||
# path: artifacts
|
||||
# workflow_conclusion: success
|
||||
# skip_unpack: true
|
||||
#
|
||||
# - name: Download and unzip Mac arm64 artifacts
|
||||
# uses: dawidd6/action-download-artifact@v2
|
||||
# with:
|
||||
# workflow: ton-aarch64-macos.yml
|
||||
# path: artifacts
|
||||
# workflow_conclusion: success
|
||||
# skip_unpack: false
|
||||
|
||||
- name: Download Windows artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
|
@ -56,9 +83,26 @@ jobs:
|
|||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download and unzip Windows artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: win-2019-compile.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: false
|
||||
|
||||
- name: Download WASM artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ton-wasm-emscripten.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Show all artifacts
|
||||
run: |
|
||||
tree artifacts
|
||||
|
||||
|
||||
# create release
|
||||
|
||||
|
@ -79,7 +123,7 @@ jobs:
|
|||
- name: Get registration token
|
||||
id: getRegToken
|
||||
run: |
|
||||
curl -X POST -H \"Accept: application/vnd.github+json\" -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/neodix42/HardTestDevelopment/actions/runners/registration-token
|
||||
curl -X POST -H \"Accept: application/vnd.github+json\" -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/ton-blockchain/ton/actions/runners/registration-token
|
||||
|
||||
- name: Create release
|
||||
id: create_release
|
||||
|
@ -94,74 +138,250 @@ jobs:
|
|||
draft: false
|
||||
prerelease: false
|
||||
|
||||
# upload
|
||||
|
||||
# win
|
||||
|
||||
- name: Upload Windows 2019 artifacts
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-win-binaries.zip
|
||||
asset_name: ton-windows-2019-x86-64.zip
|
||||
asset_name: ton-win-x86-64.zip
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload MacOS 11.7 x86-64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - fift
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-macos-11.7.zip
|
||||
asset_name: ton-macos-11.7-x86-64.zip
|
||||
file: artifacts/ton-win-binaries/fift.exe
|
||||
asset_name: fift.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload MacOS 12.6 x86-64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - func
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-macos-12.6.zip
|
||||
asset_name: ton-macos-12.6-x86-64.zip
|
||||
file: artifacts/ton-win-binaries/func.exe
|
||||
asset_name: func.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 18.04 x86-64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - lite-client
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-binaries-ubuntu-18.04.zip
|
||||
asset_name: ton-ubuntu-18.04-x86-64.zip
|
||||
file: artifacts/ton-win-binaries/lite-client.exe
|
||||
asset_name: lite-client.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 20.04 x86-64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - rldp-http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-binaries-ubuntu-20.04.zip
|
||||
asset_name: ton-ubuntu-20.04-x86-64.zip
|
||||
file: artifacts/ton-win-binaries/rldp-http-proxy.exe
|
||||
asset_name: rldp-http-proxy.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 22.04 x86-64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-binaries-ubuntu-22.04.zip
|
||||
asset_name: ton-ubuntu-22.04-x86-64.zip
|
||||
file: artifacts/ton-win-binaries/http-proxy.exe
|
||||
asset_name: http-proxy.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 18.04 arm64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - storage-daemon-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-ubuntu-18.04-arm64.zip
|
||||
asset_name: ton-ubuntu-18.04-arm64.zip
|
||||
file: artifacts/ton-win-binaries/storage-daemon-cli.exe
|
||||
asset_name: storage-daemon-cli.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 20.04 arm64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - tonlibjson
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-ubuntu-20.04-arm64.zip
|
||||
asset_name: ton-ubuntu-20.04-arm64.zip
|
||||
file: artifacts/ton-win-binaries/tonlibjson.dll
|
||||
asset_name: tonlibjson.dll
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 22.04 arm64 artifacts
|
||||
- name: Upload Windows 2019 single artifact - tonlib-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-ubuntu-22.04-arm64.zip
|
||||
asset_name: ton-ubuntu-22.04-arm64.zip
|
||||
file: artifacts/ton-win-binaries/tonlib-cli.exe
|
||||
asset_name: tonlib-cli.exe
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
# mac x86-64
|
||||
|
||||
- name: Upload Mac x86-64 artifacts
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries.zip
|
||||
asset_name: ton-mac-x86-64.zip
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - fift
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/fift
|
||||
asset_name: fift-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - func
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/func
|
||||
asset_name: func-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - lite-client
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/lite-client
|
||||
asset_name: lite-client-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - rldp-http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/rldp-http-proxy
|
||||
asset_name: rldp-http-proxy-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/http-proxy
|
||||
asset_name: http-proxy-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - storage-daemon-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/storage-daemon-cli
|
||||
asset_name: storage-daemon-cli-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - tonlibjson
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/libtonlibjson.dylib
|
||||
asset_name: tonlibjson-mac-x86-64.dylib
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Mac x86-64 single artifact - tonlib-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-macos-binaries/tonlib-cli
|
||||
asset_name: tonlib-cli-mac-x86-64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
# linux x86-64
|
||||
|
||||
- name: Upload Linux x86-64 artifacts
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries.zip
|
||||
asset_name: ton-linux-x86_64.zip
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - fift
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/fift
|
||||
asset_name: fift-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - func
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/func
|
||||
asset_name: func-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - lite-client
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/lite-client
|
||||
asset_name: lite-client-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - rldp-http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/rldp-http-proxy
|
||||
asset_name: rldp-http-proxy-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - http-proxy
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/http-proxy
|
||||
asset_name: http-proxy-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - storage-daemon-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/storage-daemon-cli
|
||||
asset_name: storage-daemon-cli-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - tonlibjson
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/libtonlibjson.so.0.5
|
||||
asset_name: tonlibjson-linux-x86_64.so
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Linux x86-64 single artifact - tonlib-cli
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-x86_64-linux-binaries/tonlib-cli
|
||||
asset_name: tonlib-cli-linux-x86_64
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
# - name: Upload Linux arm64 artifacts
|
||||
# uses: svenstaro/upload-release-action@v2
|
||||
# with:
|
||||
# repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# file: artifacts/ton-aarch64-linux-binaries.zip
|
||||
# asset_name: ton-linux-arm64.zip
|
||||
# tag: v${{ steps.date.outputs.date }}
|
||||
#
|
||||
# - name: Upload Mac arm64 artifacts
|
||||
# uses: svenstaro/upload-release-action@v2
|
||||
# with:
|
||||
# repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# file: artifacts/ton-aarch64-macos-binaries
|
||||
# asset_name: ton-mac-arm64.zip
|
||||
# tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload WASM artifacts
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: artifacts/ton-wasm-binaries.zip
|
||||
asset_name: ton-wasm-binaries.zip
|
||||
tag: v${{ steps.date.outputs.date }}
|
4
.github/workflows/docker-compile-ubuntu.yml
vendored
4
.github/workflows/docker-compile-ubuntu.yml
vendored
|
@ -9,7 +9,7 @@ jobs:
|
|||
max-parallel: 3
|
||||
matrix:
|
||||
arch: [arm64]
|
||||
ver: [22.04, 18.04, 20.04 ]
|
||||
ver: [22.04, 20.04 ]
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
|
@ -33,7 +33,7 @@ jobs:
|
|||
run: |
|
||||
mkdir build-${{matrix.ver}}-${{matrix.arch}}
|
||||
|
||||
docker buildx build --build-arg BRANCH=${{ steps.vars.outputs.short_ref }} --platform=linux/${{matrix.arch}} --progress=plain --load . -t build-${{matrix.ver}}-${{matrix.arch}} -f .github/script/${{matrix.arch}}-${{matrix.ver}}.Dockerfile
|
||||
docker buildx build --build-arg REPO=${{ github.repository }} --build-arg BRANCH=${{ steps.vars.outputs.short_ref }} --platform=linux/${{matrix.arch}} --progress=plain --load . -t build-${{matrix.ver}}-${{matrix.arch}} -f .github/script/${{matrix.arch}}-${{matrix.ver}}.Dockerfile
|
||||
container_id=$(docker create --platform=linux/${{matrix.arch}} build-${{matrix.ver}}-${{matrix.arch}})
|
||||
docker cp $container_id:/ton/build/dht-server/dht-server build-${{matrix.ver}}-${{matrix.arch}}/
|
||||
docker cp -a $container_id:/ton/build/validator-engine/validator-engine build-${{matrix.ver}}-${{matrix.arch}}/
|
||||
|
|
10
.github/workflows/macos-11.7-compile.yml
vendored
10
.github/workflows/macos-11.7-compile.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
|||
- name: Build all
|
||||
run: |
|
||||
export NONINTERACTIVE=1
|
||||
brew install ninja libmicrohttpd
|
||||
brew install ninja libmicrohttpd pkg-config
|
||||
rootPath=`pwd`
|
||||
mkdir build
|
||||
cd build
|
||||
|
@ -51,10 +51,18 @@ jobs:
|
|||
cp build/utils/generate-random-id artifacts/
|
||||
cp build/utils/json2tlo artifacts/
|
||||
cp build/adnl/adnl-proxy 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:
|
||||
|
|
10
.github/workflows/macos-12.6-compile.yml
vendored
10
.github/workflows/macos-12.6-compile.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
|||
- name: Build all
|
||||
run: |
|
||||
export NONINTERACTIVE=1
|
||||
brew install ninja libmicrohttpd
|
||||
brew install ninja libmicrohttpd pkg-config
|
||||
rootPath=`pwd`
|
||||
mkdir build
|
||||
cd build
|
||||
|
@ -51,10 +51,18 @@ jobs:
|
|||
cp build/utils/generate-random-id artifacts/
|
||||
cp build/utils/json2tlo artifacts/
|
||||
cp build/adnl/adnl-proxy 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:
|
||||
|
|
48
.github/workflows/ton-aarch64-linux.yml
vendored
Normal file
48
.github/workflows/ton-aarch64-linux.yml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
name: "TON aarch64 Linux binaries"
|
||||
|
||||
on: [workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- run: |
|
||||
sudo apt update
|
||||
sudo apt install -y apt-utils
|
||||
sudo apt install -q -y qemu-system-aarch64 qemu-efi binfmt-support qemu-user-static
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- uses: cachix/install-nix-action@v18
|
||||
with:
|
||||
extra_nix_config: |
|
||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Compile
|
||||
run: nix build .?submodules=1#packages.aarch64-linux.ton-oldglibc_staticbinaries --print-build-logs --system aarch64-linux -o result-aarch64
|
||||
|
||||
- name: Copy binaries
|
||||
run: |
|
||||
ls -lart
|
||||
mkdir artifacts
|
||||
cp $PWD/result-aarch64-linux/bin/* artifacts/
|
||||
chmod +x artifacts/*
|
||||
cp $PWD/result-aarch64-linux/lib/libtonlibjson.so.0.5 artifacts/
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib 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-aarch64-linux-binaries
|
||||
path: artifacts
|
45
.github/workflows/ton-aarch64-macos.yml
vendored
Normal file
45
.github/workflows/ton-aarch64-macos.yml
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
name: "TON aarch64 macOS binaries"
|
||||
|
||||
on: [workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-12
|
||||
|
||||
steps:
|
||||
- run: brew install qemu
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- uses: cachix/install-nix-action@v18
|
||||
with:
|
||||
extra_nix_config: |
|
||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Compile
|
||||
run: nix build .?submodules=1#packages.aarch64-darwin.ton-staticbin-dylib --print-build-logs -o result-aarch64-darwin
|
||||
|
||||
- name: Copy binaries
|
||||
run: |
|
||||
ls -lart
|
||||
mkdir artifacts
|
||||
cp $PWD/result-aarch64-darwin/bin/* artifacts/
|
||||
chmod +x artifacts/*
|
||||
cp $PWD/result-aarch64-darwin/lib/libtonlibjson* artifacts/
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib 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-aarch64-macos-binaries
|
||||
path: artifacts
|
|
@ -5,7 +5,7 @@ on: [push,workflow_dispatch,workflow_call]
|
|||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
40
.github/workflows/ton-wasm-emscripten.yml
vendored
Normal file
40
.github/workflows/ton-wasm-emscripten.yml
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
name: TON WASM Compile
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.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 ninja-build clang libgflags-dev zlib1g-dev libssl-dev libreadline-dev libmicrohttpd-dev pkg-config libgsl-dev python3 python3-dev python3-pip nodejs
|
||||
|
||||
- name: Configure & Build
|
||||
run: |
|
||||
cd .github/script
|
||||
./fift-func-wasm-build-ubuntu.sh
|
||||
|
||||
- name: Find & copy binaries
|
||||
run: |
|
||||
mkdir artifacts
|
||||
ls build/crypto
|
||||
cp build/crypto/fift* artifacts
|
||||
cp build/crypto/func* artifacts
|
||||
cp build/crypto/tlbc* artifacts
|
||||
cp build/emulator/emulator-emscripten* artifacts
|
||||
cp -R crypto/smartcont artifacts
|
||||
cp -R crypto/fift/lib artifacts
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ton-wasm-binaries
|
||||
path: artifacts
|
47
.github/workflows/ton-x86-64-linux.yml
vendored
Normal file
47
.github/workflows/ton-x86-64-linux.yml
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
name: "TON x86_64 Linux binaries"
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- run: |
|
||||
sudo apt update
|
||||
sudo apt install -y apt-utils
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- uses: cachix/install-nix-action@v18
|
||||
with:
|
||||
extra_nix_config: |
|
||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Compile
|
||||
run: nix build .?submodules=1#packages.x86_64-linux.ton-oldglibc_staticbinaries --print-build-logs --system x86_64-linux -o result-x86_64
|
||||
|
||||
- name: Copy binaries
|
||||
run: |
|
||||
ls -lart
|
||||
mkdir artifacts
|
||||
cp $PWD/result-x86_64/bin/* artifacts/
|
||||
chmod +x artifacts/*
|
||||
cp $PWD/result-x86_64/lib/libtonlibjson.so.0.5 artifacts/
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib 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-x86_64-linux-binaries
|
||||
path: artifacts
|
43
.github/workflows/ton-x86-64-macos.yml
vendored
Normal file
43
.github/workflows/ton-x86-64-macos.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
name: "TON x86_64 macOS binaries"
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-12
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- uses: cachix/install-nix-action@v18
|
||||
with:
|
||||
extra_nix_config: |
|
||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Compile
|
||||
run: nix build .?submodules=1#packages.x86_64-darwin.ton-staticbin-dylib --print-build-logs -o result-x86_64-darwin
|
||||
|
||||
- name: Copy binaries
|
||||
run: |
|
||||
ls -lart
|
||||
mkdir artifacts
|
||||
cp $PWD/result-x86_64-darwin/bin/* artifacts/
|
||||
chmod +x artifacts/*
|
||||
cp $PWD/result-x86_64-darwin/lib/libtonlibjson.dylib artifacts/
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib 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-x86_64-macos-binaries
|
||||
path: artifacts
|
|
@ -1,11 +1,11 @@
|
|||
name: Ubuntu 18.04 Compile
|
||||
name: Ubuntu 22.04 Compile
|
||||
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
|
@ -36,9 +36,17 @@ jobs:
|
|||
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
|
||||
chmod +x artifacts/*
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib 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:
|
11
.github/workflows/ubuntu-compile.yml
vendored
11
.github/workflows/ubuntu-compile.yml
vendored
|
@ -7,7 +7,7 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04]
|
||||
os: [ubuntu-20.04, ubuntu-22.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
@ -39,8 +39,17 @@ jobs:
|
|||
run: |
|
||||
mkdir artifacts-${{ matrix.os }}
|
||||
cp build-${{ matrix.os }}/storage/storage-daemon/storage-daemon build-${{ matrix.os }}/storage/storage-daemon/storage-daemon-cli 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 }}
|
||||
chmod +x artifacts-${{ matrix.os }}/*
|
||||
cp -R crypto/smartcont artifacts-${{ matrix.os }}
|
||||
cp -R crypto/fift/lib artifacts-${{ matrix.os }}
|
||||
|
||||
- name: Simple binaries test
|
||||
run: |
|
||||
artifacts-${{ matrix.os }}/validator-engine -V
|
||||
artifacts-${{ matrix.os }}/lite-client -V
|
||||
artifacts-${{ matrix.os }}/fift -V
|
||||
artifacts-${{ matrix.os }}/func -V
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
|
|
12
.github/workflows/win-2019-compile.yml
vendored
12
.github/workflows/win-2019-compile.yml
vendored
|
@ -28,7 +28,10 @@ jobs:
|
|||
path: zlib
|
||||
|
||||
- name: Setup msbuild.exe
|
||||
uses: microsoft/setup-msbuild@v1.0.2
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
|
||||
- name: Install Pkg-config Lite
|
||||
run: choco install pkgconfiglite
|
||||
|
||||
- name: Compile zlib Win64
|
||||
run: |
|
||||
|
@ -68,8 +71,7 @@ jobs:
|
|||
|
||||
- name: Check if validator-engine.exe exists
|
||||
run: |
|
||||
set root=%cd%
|
||||
copy %root%\build\validator-engine\Release\validator-engine.exe test
|
||||
copy %cd%\build\validator-engine\Release\validator-engine.exe test
|
||||
|
||||
- name: Find & copy binaries
|
||||
run: |
|
||||
|
@ -77,9 +79,9 @@ jobs:
|
|||
mkdir artifacts\smartcont
|
||||
mkdir artifacts\lib
|
||||
|
||||
for %%I in (build\storage\storage-daemon\Release\storage-daemon.exe build\storage\storage-daemon\Release\storage-daemon-cli.exe build\blockchain-explorer\Release\blockchain-explorer.exe build\crypto\Release\fift.exe build\crypto\Release\tlbc.exe build\crypto\Release\func.exe build\crypto\Release\create-state.exe build\validator-engine-console\Release\validator-engine-console.exe build\tonlib\Release\tonlib-cli.exe build\tonlib\Release\tonlibjson.dll build\http\Release\http-proxy.exe build\rldp-http-proxy\Release\rldp-http-proxy.exe build\dht-server\Release\dht-server.exe build\lite-client\Release\lite-client.exe build\validator-engine\Release\validator-engine.exe build\utils\Release\generate-random-id.exe build\utils\Release\json2tlo.exe build\adnl\Release\adnl-proxy.exe) do copy %%I artifacts\
|
||||
for %%I in (build\storage\storage-daemon\storage-daemon.exe build\storage\storage-daemon\storage-daemon-cli.exe build\blockchain-explorer\blockchain-explorer.exe build\crypto\Release\fift.exe build\crypto\Release\tlbc.exe build\crypto\Release\func.exe build\crypto\Release\create-state.exe build\validator-engine-console\Release\validator-engine-console.exe build\tonlib\Release\tonlib-cli.exe build\tonlib\Release\tonlibjson.dll build\http\Release\http-proxy.exe build\rldp-http-proxy\Release\rldp-http-proxy.exe build\dht-server\Release\dht-server.exe build\lite-client\Release\lite-client.exe build\validator-engine\Release\validator-engine.exe build\utils\Release\generate-random-id.exe build\utils\Release\json2tlo.exe build\adnl\Release\adnl-proxy.exe) do copy %%I artifacts\
|
||||
xcopy /e /k /h /i crypto\smartcont artifacts\smartcont
|
||||
xcopy /e /k /h /i crypto\fift\lib artifacts\lib
|
||||
xcopy /e /k /h /i crypto\fift\lib artifacts\lib
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue