From: James Teh Date: Fri, 5 Feb 2016 02:29:08 +0000 (+1000) Subject: Do all automated builds on AppVeyor! X-Git-Tag: jpbeta160206~1^2~2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4dccf41a5bbaa490be74b39373757fb29df5eb83;p=nvdajp%2Fnvdajp.git Do all automated builds on AppVeyor! Also, AppVeyor has Python 2.7.11, so we upgrade with it. Fixes #5499. Fixes #5724. --- diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..29ed50060 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,100 @@ +version: "{branch}-{build}" + +branches: + only: + - master + - next + - rc + - /try-.*/ + # For tags, branch = tag if GitHub couldn't work out the base branch. + - /release-.*/ + +environment: + PY_PYTHON: 2.7-32 + encFileKey: + secure: ekOvuyywHuDdGZmRmoj+b3jfrq39A2xlx4RD5ZUGd/8= + symstore: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\symstore.exe + +init: + - ps: | + if ($env:APPVEYOR_REPO_TAG_NAME -and $env:APPVEYOR_REPO_TAG_NAME.StartsWith("release-")) { + # Strip "release-" prefix. + $version = $env:APPVEYOR_REPO_TAG_NAME.Substring(8) + Set-AppveyorBuildVariable "release" "1" + if ($env:APPVEYOR_REPO_TAG_NAME.Contains("rc")) { + $versionType = "beta" + } else { + $versionType = "stable" + } + } else { + $version = "$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_BUILD_NUMBER," + $env:APPVEYOR_REPO_COMMIT.Substring(0, 8) + # The version is unique even for rebuilds, so we can use it for the AppVeyor version. + Update-AppveyorBuild -Version $version + if (!$env:APPVEYOR_REPO_BRANCH.StartsWith("try-")) { + $versionType = "snapshot:$env:APPVEYOR_REPO_BRANCH" + } + } + Set-AppveyorBuildVariable "version" $version + if ($versionType) { + Set-AppveyorBuildVariable "versionType" $versionType + } + +clone_depth: 1 + +install: + - cd appveyor + # Decrypt files. + - openssl enc -aes-256-cbc -d -pass pass:%encFileKey% -in authenticode.pfx.enc -out authenticode.pfx + - openssl enc -aes-256-cbc -d -pass pass:%encFileKey% -in ssh_id_rsa.enc -out ssh_id_rsa + # Install ssh stuff. + - copy ssh_id_rsa %userprofile%\.ssh\id_rsa + - type ssh_known_hosts >> %userprofile%\.ssh\known_hosts + - cd .. + - git submodule update --init + +build_script: + - ps: | + $sconsArgs = "launcher version=$env:version" + if ($env:release) { + $sconsArgs += " changes userGuide developerGuide release=1" + } + if ($env:versionType) { + $sconsArgs += " updateVersionType=$env:versionType" + } + $sconsArgs += ' publisher="NV Access"' + $sconsArgs += " certFile=appveyor\authenticode.pfx certTimestampServer=http://timestamp.digicert.com" + # We use cmd to run scons because PowerShell throws exceptions if warnings get dumped to stderr. + # It's possible to work around this, but the workarounds have annoying side effects. + Set-AppveyorBuildVariable "sconsArgs" $sconsArgs + - 'echo scons args: %sconsArgs%' + - py scons.py %sconsArgs% + # Build symbol store. + - ps: | + foreach ($syms in "source\*.pdb", "source\lib\*.pdb", "source\lib64\*.pdb", "source\synthDrivers\*.pdb") { + & $env:symstore add /s symbols /compress -:NOREFS /t NVDA /f $syms + } + - cd symbols + - 7z a -tzip -r ..\output\symbols.zip *.pd_ + - cd .. + +artifacts: + - path: output\* + - path: output\*\* + +deploy_script: + - ps: | + if ($env:versionType) { + # Not a try build. + $exe = Get-ChildItem -Name output\*.exe + $hash = (Get-FileHash "output\$exe" -Algorithm SHA1).Hash.ToLower() + $data = @{ + jobId=$env:APPVEYOR_JOB_ID; + commit=$env:APPVEYOR_REPO_COMMIT; + version=$env:version; versionType=$env:versionType; + avVersion=$env:APPVEYOR_BUILD_VERSION; + branch=$env:APPVEYOR_REPO_BRANCH; + exe=$exe; hash=$hash; + artifacts=$artifacts + } + ConvertTo-Json -InputObject $data -Compress | ssh nvaccess@exbi.nvaccess.org nvdaAppveyorHook + } diff --git a/appveyor/authenticode.pfx.enc b/appveyor/authenticode.pfx.enc new file mode 100644 index 000000000..1f7018bed Binary files /dev/null and b/appveyor/authenticode.pfx.enc differ diff --git a/appveyor/ssh_id_rsa.enc b/appveyor/ssh_id_rsa.enc new file mode 100644 index 000000000..4de2bbe1d Binary files /dev/null and b/appveyor/ssh_id_rsa.enc differ diff --git a/appveyor/ssh_known_hosts b/appveyor/ssh_known_hosts new file mode 100644 index 000000000..5d596d692 --- /dev/null +++ b/appveyor/ssh_known_hosts @@ -0,0 +1,2 @@ +exbi.nvaccess.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJZYcI3sI+IbIaiUcd5/LIL5+wfEoO+NQ8Gw1Ww9bxwpOyP/HYu/1yzuRNTDSckGM3hqaGGliTW2/3DYOvPDUwI= +45.33.21.113 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJZYcI3sI+IbIaiUcd5/LIL5+wfEoO+NQ8Gw1Ww9bxwpOyP/HYu/1yzuRNTDSckGM3hqaGGliTW2/3DYOvPDUwI= diff --git a/readme.md b/readme.md index 8d31016ad..9e3bb6cab 100644 --- a/readme.md +++ b/readme.md @@ -35,7 +35,7 @@ The NVDA source depends on several other packages to run correctly. ### Installed Dependencies The following dependencies need to be installed on your system: -* [Python](http://www.python.org/), version 2.7.10, 32 bit +* [Python](http://www.python.org/), version 2.7.11, 32 bit * Microsoft Visual Studio 2012 Update 1 or later (Express for Windows Desktop, or Professional) * [Download for Visual Studio Express 2012 (Windows Desktop)](http://www.microsoft.com/en-au/download/details.aspx?id=34673) (does not include updates) * [Download for Visual Studio 2012 latest update package](http://go.microsoft.com/fwlink/?LinkId=301713)