aboutsummaryrefslogblamecommitdiffstats
path: root/appveyor.yml
blob: 91ea8af77634e7ab0bb487fdd028f885025778c3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                                
                                
 
                                                                  



                                                                      
                                                             




                                                                   
                                                                  
 
                                 

                                                                               

         
             
             

                    
            
         
                                                     
                                                     


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            



                                                                         



                                                                                                                                         
        





                                                              

                                                    
                                                                                                                                          




                                                                 

                                                                                                                         


                                                                                                
                                                                                                             
                                                                   
 
            
                                                           
                                                                                              
                                                       
                                


                                                                                 
                                                           
 
          

                                
 



                                                                        








                                                                      

       

                    
                                                                                

                                  
                       
                               





                                    
#------------------------------------------------------------------------------
# Appveyor configuration file for solidity.
#
# The documentation for solidity is hosted at:
#
# http://solidity.readthedocs.org
#
# TODO - Tests currently disabled, because Tests-over-IPC code is using UNIX
# sockets unconditionally at the time of writing.
#
# ------------------------------------------------------------------------------
# This file is part of solidity.
#
# solidity is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# solidity is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with solidity.  If not, see <http://www.gnu.org/licenses/>
#
# (c) 2016 solidity contributors.
#------------------------------------------------------------------------------

branches:
  only:
    - release
    - develop
configuration:
    - RelWithDebInfo
environment:
  matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  # This is used for pushing to solidity-test-bytecodes
  priv_key:
    secure: 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
# NB: Appveyor cache is disabled, because it is proving very unreliable.
# We can re-enable it when we find a way to mitigate the unreliability
# issues.  Have automated builds be reliable is the more important thing.
#cache: build
#
# In case we'd need a RDP detail to login into appveyor
#init:
#    - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
install:
    - ps: if ($env:priv_key) {
        $fileContent = "-----BEGIN RSA PRIVATE KEY-----`n";
        $fileContent += $env:priv_key.Replace(' ', "`n");
        $fileContent += "`n-----END RSA PRIVATE KEY-----`n";
        Set-Content c:\users\appveyor\.ssh\id_rsa $fileContent
        }
    - ps: $prerelease = "nightly."
    - ps: $prerelease += Get-Date -format "yyyy.M.d"
    - ps: if($env:appveyor_repo_branch -eq 'release') { Set-Content prerelease.txt $null } else { Set-Content prerelease.txt $prerelease }
    - scripts/install_deps.bat
    - set ETHEREUM_DEPS_PATH=%APPVEYOR_BUILD_FOLDER%\deps\install
before_build:
    - if not exist build mkdir build
    - cd build
    - if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" ( cmake -G "Visual Studio 14 2015 Win64" .. -DTESTS=On )
      else ( cmake -G "Visual Studio 15 2017 Win64" .. -DTESTS=On )
build_script:
    - msbuild solidity.sln /p:Configuration=%CONFIGURATION% /m:%NUMBER_OF_PROCESSORS% /v:minimal
    - cd %APPVEYOR_BUILD_FOLDER%
    - if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" ( scripts\release.bat %CONFIGURATION% 2017 )
    - ps: $bytecodedir = git show -s --format="%cd-%H" --date=short

test_script:
    - cd %APPVEYOR_BUILD_FOLDER%\build\test\%CONFIGURATION%
    - soltest.exe --show-progress -- --testpath %APPVEYOR_BUILD_FOLDER%\test --no-ipc --no-smt
# Skip bytecode compare if private key is not available
    - cd %APPVEYOR_BUILD_FOLDER%
    - ps: if ($env:priv_key) {
        scripts\bytecodecompare\storebytecode.bat $Env:CONFIGURATION $bytecodedir
        }
    - cd %APPVEYOR_BUILD_FOLDER%\build\test\%CONFIGURATION%

artifacts:
    - path: solidity-windows.zip
      name: solidity-windows-zip

# This is the deploy target for Windows which generates ZIPs per commit.
# We are in agreement that generating ZIPs per commit for the develop
# branch is probably just noise, so we only run this deployment target
# on 'release'.
#
# See https://www.appveyor.com/docs/deployment/github for information
# on GitHub Releases in Appveyor.
#
# You need to generate a GitHub personal access token for Appveyor
# See https://github.com/settings/tokens for more information on that.
# The token you generate there (in an encrypted form) is what is
# passed to this deployment target in the 'auth_token' parameter
# below.

deploy:
    provider: GitHub
    auth_token:
        secure: HPjiugbDSCsEFTphj/qwHuSw80/BV1xWoSvj95CPmtb16Ukh2VQbLVB7iFtZSans
    artifact: solidity-windows-zip
    on:
        branch: release
        appveyor_repo_tag: true

notifications:
    - provider: GitHubPullRequest
      on_build_success: false
      on_build_failure: false
      on_build_status_changed: false