From 4dccf41a5bbaa490be74b39373757fb29df5eb83 Mon Sep 17 00:00:00 2001 From: James Teh Date: Fri, 5 Feb 2016 12:29:08 +1000 Subject: [PATCH] Do all automated builds on AppVeyor! Also, AppVeyor has Python 2.7.11, so we upgrade with it. Fixes #5499. Fixes #5724. --- appveyor.yml | 100 ++++++++++++++++++++++++++++++++++++++++++ appveyor/authenticode.pfx.enc | Bin 0 -> 2944 bytes appveyor/ssh_id_rsa.enc | Bin 0 -> 1696 bytes appveyor/ssh_known_hosts | 2 + readme.md | 2 +- 5 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 appveyor.yml create mode 100644 appveyor/authenticode.pfx.enc create mode 100644 appveyor/ssh_id_rsa.enc create mode 100644 appveyor/ssh_known_hosts 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 0000000000000000000000000000000000000000..1f7018bed30bd55d2661701f53dc8db197886c81 GIT binary patch literal 2944 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 literal 0 HcmV?d00001 diff --git a/appveyor/ssh_id_rsa.enc b/appveyor/ssh_id_rsa.enc new file mode 100644 index 0000000000000000000000000000000000000000..4de2bbe1d4d1210ea2e87315d6727a0ecd63bc6c GIT binary patch literal 1696 zcmV;R24DG8VQh3|WM5w=*XSi;l}=pHBZO13!8z{%TsHIESH0E3>17Rh=;|p(QKGWM z9M~4W8=z4sUjbC2moX0(p&Yl=rDBE_y*jT%R-1-$ZEwWG&?naBi<4GpDqSYiI^$C+ zLh;NtM^_`qnIIR?edgwEB>ZP40g{c*X2U=D`c>Y={t67+j;2>)+mQ6cd)V@o0zZ58 zjGL!%f0}~$u2=M|1K=2YG2HJ6kO;TI@6@;QJA0H1+yJv@{NvAz%Gp6lU83E6NtoAt z18BTyVok(y?wy_G&}1Pb)%w$+rXcg+`?Uo^%%2c3L@&ktcxAu5(~f>>4+XrQ`B3_jrP$P_spZ|_X)U^Aj#YR;;-Yc-E z1f+QsvpL>*X+>kBmeI(3?Qt3J-*1B|sf<(#X6kTsK`U_yY)AB30oQ)6pY_+TkU92P zff_o_)Y{*+W`8_1>FG?7`kTSDKF8Zh6^(z*Bsu-E0^)%LkVo-(tX_{wJ&Uc=Y&x#L z-4|y_d!9?#DZ_rw2fJ1fJuGLDk@zEhG6t% zAVe?z(#{{biYd~r%M>;gaa{?dE>T5A(pwb_PlCHYf`YAGXP&)CY|HC_+kQ^bU0@{3 z4W4d>!BSEx1j}Qs&O(g=$I@{G9tOPZ zrl{R|Ou$Y!V{Y8-SJh|B z#onr@9Lp+wWF;pOPD29S*O4a!P#AEJfkTxjc{$Fqr@Gby3gEFpTu)v{>Z;Xm_6=T0 zt{cF25YjKs1To)NsBrkM0YAG^okq7rrLje&`f4eEVb6jjxhdZPe8~3jVf9K(9Hc+2 zmG`7M4syk{&CMNQs;W@_Dp}cFrsarBEv*Bk9D*?#=-hLNo{UyugY}HTNuw?cN$NNx zkZOpUi%7g{v6i_PyS5!gKUBZUu6ssp7w(4{fiV&COiI7Jtd+3#I_eISi(1iF>|Y{# z5Md5x+`MIL4I3d+0dPc>QMjh+0!yt!J&NU>Sxc#VuJN+|#4oiTN$2gVFT8}gI^SMq z`tC}J+tW`RO=jpl`x%a#q4()M+)!tYbLaij4c?NRA{ z#jg?BuvmkWG0@p28UxgE$oAEe2C8+{3k9Uh(gc84zH`;y3 z=^IlL1|QS-R(Ah*=Y^e^sw4E`Gocf{*n~wHG<>XTwahs&Wa+4o|^I7+o?yg9$6LpC$JX8;8A|6qqQE3Cephwj3CXH}RJ zyuNWf6~#r70{$=u-Kb1}D~<88lX1!NB?yda&2Vn%22(Er1rdS-{`NH>jnd*4Scrx? zn7?5Tv{eYHI(2#h3U_!|z_qwG$KL}*X9v7Ata$I_)f%fn%3(kFqx8hK=>msL98UoL zo_VKAdpJIkFWN+7z@LV=`42s`NOQ$5Gt|_( z2t%fR0yL2Voc3TAAvoYC3pmm>WdOye{3wLLl(b>VSiWArwJ9q|f)6xeKl~fg6(aTq q;78>GnLjW1SNJYX