mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-12 19:22:37 +00:00
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
This commit is contained in:
parent
f66c06143c
commit
d3e177b49e
5 changed files with 186 additions and 17 deletions
167
.github/workflows/create-release.yml
vendored
Normal file
167
.github/workflows/create-release.yml
vendored
Normal file
|
@ -0,0 +1,167 @@
|
|||
name: Create release
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
permissions: write-all
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Show all artifacts
|
||||
run: |
|
||||
mkdir artifacts
|
||||
ls -lart artifacts
|
||||
|
||||
- name: Download Ubuntu x86-64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: ubuntu-compile.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download Ubuntu arm64 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: docker-compile-ubuntu.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Download MacOS 11.7 artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: macos-11.7-compile.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- 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 Windows artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
workflow: win-2019-compile.yml
|
||||
path: artifacts
|
||||
workflow_conclusion: success
|
||||
skip_unpack: true
|
||||
|
||||
- name: Show all artifacts
|
||||
run: |
|
||||
tree artifacts
|
||||
|
||||
# create release
|
||||
|
||||
- name: Read Changelog.md and use it as a body of new release
|
||||
id: read_release
|
||||
shell: bash
|
||||
run: |
|
||||
r=$(cat Changelog.md)
|
||||
r="${r//'%'/'%25'}"
|
||||
r="${r//$'\n'/'%0A'}"
|
||||
r="${r//$'\r'/'%0D'}"
|
||||
echo "::set-output name=CHANGELOG_BODY::$r"
|
||||
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y.%m')"
|
||||
|
||||
- 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
|
||||
|
||||
- name: Create release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.date.outputs.date }}
|
||||
release_name: v${{ steps.date.outputs.date }}
|
||||
body: |
|
||||
${{ steps.read_release.outputs.CHANGELOG_BODY }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
- 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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload MacOS 11.7 x86-64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload MacOS 12.6 x86-64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 18.04 x86-64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 20.04 x86-64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 22.04 x86-64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 18.04 arm64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 20.04 arm64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Upload Ubuntu 22.04 arm64 artifacts
|
||||
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
|
||||
tag: v${{ steps.date.outputs.date }}
|
4
.github/workflows/ubuntu-18.04-compile.yml
vendored
4
.github/workflows/ubuntu-18.04-compile.yml
vendored
|
@ -32,9 +32,11 @@ jobs:
|
|||
run: |
|
||||
mkdir artifacts
|
||||
cp 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
|
||||
cp -R crypto/smartcont artifacts/
|
||||
cp -R crypto/fift/lib artifacts/
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ton-binaries
|
||||
name: ton-ubuntu-binaries
|
||||
path: artifacts
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
name: TON ccpcheck
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -11,7 +9,7 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
|
|
8
.github/workflows/ubuntu-compile.yml
vendored
8
.github/workflows/ubuntu-compile.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
name: Ubuntu Compile х86-64
|
||||
name: Ubuntu Compile x86-64
|
||||
|
||||
on: [push,workflow_dispatch]
|
||||
on: [push,workflow_dispatch,workflow_call]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -12,7 +12,7 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
|
@ -33,6 +33,8 @@ jobs:
|
|||
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 }}
|
||||
cp -R crypto/smartcont artifacts-${{ matrix.os }}
|
||||
cp -R crypto/fift/lib artifacts-${{ matrix.os }}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
|
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
submodules: 'recursive'
|
||||
|
||||
- name: Check out zlib repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: desktop-app/zlib
|
||||
path: zlib
|
||||
|
@ -40,17 +40,13 @@ jobs:
|
|||
curl -Lo openssl-1.1.1o.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/openssl-1.1.1o.zip
|
||||
jar xf openssl-1.1.1o.zip
|
||||
|
||||
- name: Configure
|
||||
- name: Compile
|
||||
run: |
|
||||
set root=%cd%
|
||||
echo %root%
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DZLIB_FOUND=1 -DZLIB_INCLUDE_DIR=%root%\zlib -DZLIB_LIBRARY=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=%root%/openssl-1.1/x64/include -DOPENSSL_CRYPTO_LIBRARY=%root%/openssl-1.1/x64/lib/libcrypto.lib -DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj /W0" ..
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target 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 --config Release
|
||||
|
||||
- name: Show executables
|
||||
|
@ -68,11 +64,15 @@ jobs:
|
|||
- name: Find & copy binaries
|
||||
run: |
|
||||
mkdir artifacts
|
||||
for /f %%a in ('dir *.exe /b /a /s') do copy /Y %%a artifacts
|
||||
copy build\tonlib\Release\tonlibjson.dll artifacts
|
||||
mkdir artifacts\smartcont
|
||||
mkdir artifacts\lib
|
||||
|
||||
for %%I in (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
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ton-win64-binaries
|
||||
name: ton-win-binaries
|
||||
path: artifacts
|
Loading…
Reference in a new issue