1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
ton/.github/workflows/win-2019-compile.yml
neodiX42 d3e177b49e
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 12:41:49 +03:00

78 lines
3.1 KiB
YAML

name: Windows Server 2019 x64 Compile
on: [push,workflow_dispatch,workflow_call]
defaults:
run:
shell: cmd
jobs:
build:
runs-on: windows-2019
steps:
- name: Get Current OS version
run: |
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
- name: Check out current repository
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Check out zlib repository
uses: actions/checkout@v3
with:
repository: desktop-app/zlib
path: zlib
- name: Setup msbuild.exe
uses: microsoft/setup-msbuild@v1.0.2
- name: Compile zlib Win64
run: |
cd zlib\contrib\vstudio\vc14
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64 -p:PlatformToolset=v142
- name: Install pre-compiled OpenSSL Win64
run: |
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: 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" ..
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
run: |
cd build
del Release\test-*
dir *.exe /a-D /S /B
dir *.dll /a-D /S /B
- name: Check if validator-engine.exe exists
run: |
set root=%cd%
copy %root%\build\validator-engine\Release\validator-engine.exe test
- name: Find & copy binaries
run: |
mkdir 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-win-binaries
path: artifacts