mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #9825 from ethereum/windowsCircleCITests
CircleCI Windows test run.
This commit is contained in:
commit
7a5957512c
@ -1,3 +1,5 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
cd "$PSScriptRoot\.."
|
||||
|
||||
if ("$Env:FORCE_RELEASE") {
|
||||
@ -9,5 +11,8 @@ mkdir build
|
||||
cd build
|
||||
$boost_dir=(Resolve-Path $PSScriptRoot\..\deps\boost\lib\cmake\Boost-*)
|
||||
..\deps\cmake\bin\cmake -G "Visual Studio 16 2019" -DBoost_DIR="$boost_dir\" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_INSTALL_PREFIX="$PSScriptRoot\..\upload" ..
|
||||
if ( -not $? ) { throw "CMake configure failed." }
|
||||
msbuild solidity.sln /p:Configuration=Release /m:5 /v:minimal
|
||||
if ( -not $? ) { throw "Build failed." }
|
||||
..\deps\cmake\bin\cmake --build . -j 5 --target install --config Release
|
||||
if ( -not $? ) { throw "Install target failed." }
|
||||
|
@ -250,6 +250,16 @@ defaults:
|
||||
requires:
|
||||
- b_ubu_ossfuzz
|
||||
|
||||
- workflow_win: &workflow_win
|
||||
<<: *workflow_trigger_on_tags
|
||||
requires:
|
||||
- b_win
|
||||
|
||||
- workflow_win_release: &workflow_win_release
|
||||
<<: *workflow_trigger_on_tags
|
||||
requires:
|
||||
- b_win_release
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Notification Templates
|
||||
- gitter_notify_failure: &gitter_notify_failure
|
||||
@ -903,6 +913,9 @@ jobs:
|
||||
- run:
|
||||
name: "Building solidity"
|
||||
command: .circleci/build_win.ps1
|
||||
- run:
|
||||
name: "Run solc.exe to make sure build was successful."
|
||||
command: .\build\solc\Release\solc.exe --version
|
||||
- store_artifacts: *artifact_solc_windows
|
||||
- persist_to_workspace: *artifacts_build_dir
|
||||
|
||||
@ -911,6 +924,24 @@ jobs:
|
||||
environment:
|
||||
FORCE_RELEASE: ON
|
||||
|
||||
t_win: &t_win
|
||||
executor:
|
||||
name: win/default
|
||||
shell: powershell.exe
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: build
|
||||
- run:
|
||||
name: "Install evmone"
|
||||
command: scripts/install_evmone.ps1
|
||||
- run:
|
||||
name: "Run soltest"
|
||||
command: .circleci/soltest.ps1
|
||||
- store_artifacts: *artifacts_test_results
|
||||
|
||||
t_win_release:
|
||||
<<: *t_win
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
@ -966,6 +997,8 @@ workflows:
|
||||
# Windows build and tests
|
||||
- b_win: *workflow_trigger_on_tags
|
||||
- b_win_release: *workflow_trigger_on_tags
|
||||
- t_win: *workflow_win
|
||||
- t_win_release: *workflow_win_release
|
||||
|
||||
nightly:
|
||||
|
||||
|
12
.circleci/soltest.ps1
Executable file
12
.circleci/soltest.ps1
Executable file
@ -0,0 +1,12 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
cd "$PSScriptRoot\.."
|
||||
|
||||
.\build\solc\Release\solc.exe --version
|
||||
if ( -not $? ) { throw "Cannot execute solc --version." }
|
||||
|
||||
mkdir test_results
|
||||
.\build\test\Release\soltest.exe --color_output=no --show_progress=yes --logger=JUNIT,error,test_results/result.xml -- --no-smt
|
||||
if ( -not $? ) { throw "Unoptimized soltest run failed." }
|
||||
.\build\test\Release\soltest.exe --color_output=no --show_progress=yes --logger=JUNIT,error,test_results/result_opt.xml -- --optimize --no-smt
|
||||
if ( -not $? ) { throw "Optimized soltest run failed." }
|
@ -1,3 +1,5 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Needed for Invoke-WebRequest to work via CI.
|
||||
$progressPreference = "silentlyContinue"
|
||||
|
||||
@ -12,4 +14,5 @@ tar -xf boost.zip
|
||||
cd boost_1_74_0
|
||||
.\bootstrap.bat
|
||||
.\b2 -j4 -d0 link=static runtime-link=static variant=release threading=multi address-model=64 --with-filesystem --with-system --with-program_options --with-test --prefix="$PSScriptRoot\..\deps\boost" install
|
||||
if ( -not $? ) { throw "Error building boost." }
|
||||
cd ..
|
||||
|
9
scripts/install_evmone.ps1
Normal file
9
scripts/install_evmone.ps1
Normal file
@ -0,0 +1,9 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Needed for Invoke-WebRequest to work via CI.
|
||||
$progressPreference = "silentlyContinue"
|
||||
|
||||
Invoke-WebRequest -URI "https://github.com/ethereum/evmone/releases/download/v0.5.0/evmone-0.5.0-windows-amd64.zip" -OutFile "evmone.zip"
|
||||
tar -xf evmone.zip "bin/evmone.dll"
|
||||
mkdir deps
|
||||
mv bin/evmone.dll deps
|
Loading…
Reference in New Issue
Block a user