mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	Create ccpp-linux.yaml
Taken from https://github.com/akme/ton/blob/master/.github/workflows/ccpp-linux.yml Fixing error LNK2019: unresolved external symbol _GetProcessMemoryInfo@12 when building windows desktop client Fixes compilation error of lite-client on windows Fixes compilation error: error C2664: 'std::pair<td::int64,td::int64> std::make_pair<td::int64,td::int64>(_Ty1 &&,_Ty2 &&) noexcept (<expr>)': cannot convert argument 1 from 'const td::uint64' to '_Ty1 &&' make_pair() has been changed in VS2012 to support a new C++11 feature called move semantics and I suspect that explicitly specifying the types for make_pair() is getting in the way. The fix should be safe for linux distro as well. Adding Github action - Win64 ton compile (#14) * Add github action win64 compile * manager.cpp - Strange though, but due to this kind of type usage win64 compilation fails. Let's make it more generic.
This commit is contained in:
		
							parent
							
								
									f60694e67f
								
							
						
					
					
						commit
						b22611a123
					
				
					 5 changed files with 127 additions and 2 deletions
				
			
		
							
								
								
									
										46
									
								
								.github/workflows/ccpp-linux.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/ccpp-linux.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,46 @@
 | 
				
			||||||
 | 
					name: C/C++ CI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on: [push]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Check out repository
 | 
				
			||||||
 | 
					      uses: actions/checkout@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        depth: 1
 | 
				
			||||||
 | 
					        submodules: 'recursive'
 | 
				
			||||||
 | 
					    - name: Run Cppcheck
 | 
				
			||||||
 | 
					      uses: Bedzior/run-cppcheck@master
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        enabled checks: all
 | 
				
			||||||
 | 
					        enable inconclusive: true
 | 
				
			||||||
 | 
					        generate report: true
 | 
				
			||||||
 | 
					    - name: Upload report
 | 
				
			||||||
 | 
					      uses: actions/upload-artifact@v1
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: report
 | 
				
			||||||
 | 
					        path: output
 | 
				
			||||||
 | 
					    - name: mkdir
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        mkdir build
 | 
				
			||||||
 | 
					    - name: cmake
 | 
				
			||||||
 | 
					      run: | 
 | 
				
			||||||
 | 
					        cd build
 | 
				
			||||||
 | 
					        cmake ..
 | 
				
			||||||
 | 
					    - name: make -j4
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        cd build
 | 
				
			||||||
 | 
					        make -j4
 | 
				
			||||||
 | 
					    - name: find & copy binaries
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        mkdir artifacts
 | 
				
			||||||
 | 
					        cp --parents build/crypto/fift build/crypto/adjust-block build/crypto/dump-block 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/tddb/io-bench build/http/http-proxy build/tdnet/udp_ping_pong build/tdnet/tcp_ping_pong 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/pack-viewer build/utils/json2tlo build/adnl/adnl-proxy build/adnl/adnl-pong artifacts
 | 
				
			||||||
 | 
					    - name: Upload artifacts
 | 
				
			||||||
 | 
					      uses: actions/upload-artifact@master
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: ton-binaries
 | 
				
			||||||
 | 
					        path: artifacts
 | 
				
			||||||
							
								
								
									
										77
									
								
								.github/workflows/ccpp-win64.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								.github/workflows/ccpp-win64.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					name: C/C++ CI Win64 Compile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on: [push]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults:
 | 
				
			||||||
 | 
					  run:
 | 
				
			||||||
 | 
					    shell: cmd
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runs-on: windows-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Get Current OS version
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Check out current repository
 | 
				
			||||||
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          submodules: 'recursive'
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					      - name: Check out zlib repository
 | 
				
			||||||
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        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=Debug /p:platform=x64        
 | 
				
			||||||
 | 
					          msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Install OpenSSL Win64
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          curl -o openssl.msi https://slproweb.com/download/Win64OpenSSL-1_1_1i.msi
 | 
				
			||||||
 | 
					          msiexec /i openssl.msi /quiet /qn /norestart
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Build ton
 | 
				
			||||||
 | 
					        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 -DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj /W0" -DCMAKE_BUILD_TYPE=Release ..
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Compile ton
 | 
				
			||||||
 | 
					        run: |       
 | 
				
			||||||
 | 
					          cd build   
 | 
				
			||||||
 | 
					          cmake --build .
 | 
				
			||||||
 | 
					        continue-on-error: true          
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Show executables
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          cd build          
 | 
				
			||||||
 | 
					          dir *.exe /a-D /S /B
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Check if validator-engine.exe exists
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          set root=%cd%
 | 
				
			||||||
 | 
					          copy %root%\build\validator-engine\Debug\validator-engine.exe test
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Find & copy binaries
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          mkdir artifacts
 | 
				
			||||||
 | 
					          for /f %%a in ('dir *.exe /b /a /s') do copy /Y %%a artifacts
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      - name: Upload artifacts
 | 
				
			||||||
 | 
					        uses: actions/upload-artifact@master
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: ton-win64-binaries
 | 
				
			||||||
 | 
					          path: artifacts
 | 
				
			||||||
| 
						 | 
					@ -3461,7 +3461,7 @@ bool TestNode::ValidatorLoadInfo::store_record(const td::Bits256& key, const blo
 | 
				
			||||||
  if (it == vset_map.end()) {
 | 
					  if (it == vset_map.end()) {
 | 
				
			||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  created.at(it->second) = std::make_pair<td::int64, td::int64>(mc_cnt.total, shard_cnt.total);
 | 
					  created.at(it->second) = std::make_pair(mc_cnt.total, shard_cnt.total);
 | 
				
			||||||
  return true;
 | 
					  return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,6 +58,8 @@
 | 
				
			||||||
#define PSAPI_VERSION 1
 | 
					#define PSAPI_VERSION 1
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#include <psapi.h>
 | 
					#include <psapi.h>
 | 
				
			||||||
 | 
					#pragma comment( lib, "psapi.lib" )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1692,7 +1692,7 @@ void ValidatorManagerImpl::update_shards() {
 | 
				
			||||||
  auto exp_vec = last_masterchain_state_->get_shards();
 | 
					  auto exp_vec = last_masterchain_state_->get_shards();
 | 
				
			||||||
  auto config = last_masterchain_state_->get_consensus_config();
 | 
					  auto config = last_masterchain_state_->get_consensus_config();
 | 
				
			||||||
  validatorsession::ValidatorSessionOptions opts{config};
 | 
					  validatorsession::ValidatorSessionOptions opts{config};
 | 
				
			||||||
  uint threshold = 9407194;
 | 
					  td::uint32 threshold = 9407194;
 | 
				
			||||||
  bool force_group_id_upgrade = last_masterchain_seqno_ == threshold;
 | 
					  bool force_group_id_upgrade = last_masterchain_seqno_ == threshold;
 | 
				
			||||||
  auto legacy_opts_hash = opts.get_hash();
 | 
					  auto legacy_opts_hash = opts.get_hash();
 | 
				
			||||||
  if(last_masterchain_seqno_ >= threshold) { //TODO move to get_consensus_config()
 | 
					  if(last_masterchain_seqno_ >= threshold) { //TODO move to get_consensus_config()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue