From 95f31659220140bc9957bac23d1948f6ac976ed3 Mon Sep 17 00:00:00 2001 From: Job Evers-Meltzer Date: Mon, 19 Sep 2016 13:22:37 -0700 Subject: [PATCH] appveyor updates - move init and build steps into dedicated scripts - deploy msi artifact on tag --- .appveyor.yml | 103 ++-------------------------------- packaging/windows/init.ps1 | 93 ++++++++++++++++++++++++++++++ packaging/windows/install.ps1 | 15 +++++ 3 files changed, 113 insertions(+), 98 deletions(-) create mode 100644 packaging/windows/init.ps1 create mode 100644 packaging/windows/install.ps1 diff --git a/.appveyor.yml b/.appveyor.yml index 476bd2f44..f4ef4bef4 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -16,105 +16,12 @@ notifications: clone_folder: c:\projects\lbry init: -- ps: >- - $env:Path += ";C:\MinGW\bin\" - - $env:Path += ";C:\Program Files (x86)\Windows Kits\10\bin\x86\" - - gcc --version - - mingw32-make --version - - mkdir C:\temp - - Invoke-WebRequest "https://pypi.python.org/packages/55/90/e987e28ed29b571f315afea7d317b6bf4a551e37386b344190cffec60e72/miniupnpc-1.9.tar.gz" -OutFile "C:\temp\miniupnpc-1.9.tar.gz" - - cd C:\temp - - 7z e miniupnpc-1.9.tar.gz - - 7z x miniupnpc-1.9.tar - - cd C:\temp\miniupnpc-1.9 - - mingw32-make.exe -f Makefile.mingw - - C:\Python27\python.exe C:\temp\miniupnpc-1.9\setupmingw32.py build --compiler=mingw32 - - C:\Python27\python.exe C:\temp\miniupnpc-1.9\setupmingw32.py install - - Invoke-WebRequest "https://github.com/lbryio/lbry/raw/master/packaging/windows/libs/gmpy-1.17-cp27-none-win32.whl" -OutFile "C:\temp\gmpy-1.17-cp27-none-win32.whl" - - C:\Python27\Scripts\pip.exe install "C:\temp\gmpy-1.17-cp27-none-win32.whl" - - C:\Python27\Scripts\pip.exe install pypiwin32==219 - - C:\Python27\Scripts\pip.exe install six==1.9.0 - - C:\Python27\Scripts\pip.exe install requests==2.9.1 - - C:\Python27\Scripts\pip.exe install zope.interface==4.1.3 - - C:\Python27\Scripts\pip.exe install cx-freeze==4.3.3 - - C:\Python27\Scripts\pip.exe install cython==0.24.1 - - C:\Python27\Scripts\pip.exe install Twisted==16.0.0 - - C:\Python27\Scripts\pip.exe install Yapsy==1.11.223 - - C:\Python27\Scripts\pip.exe install appdirs==1.4.0 - - C:\Python27\Scripts\pip.exe install argparse==1.2.1 - - C:\Python27\Scripts\pip.exe install colorama==0.3.7 - - C:\Python27\Scripts\pip.exe install dnspython==1.12.0 - - C:\Python27\Scripts\pip.exe install ecdsa==0.13 - - C:\Python27\Scripts\pip.exe install jsonrpc==1.2 - - C:\Python27\Scripts\pip.exe install jsonrpclib==0.1.7 - - C:\Python27\Scripts\pip.exe install loggly-python-handler==1.0.0 - - C:\Python27\Scripts\pip.exe install pbkdf2==1.3 - - C:\Python27\Scripts\pip.exe install protobuf==3.0.0 - - C:\Python27\Scripts\pip.exe install pycrypto==2.6.1 - - C:\Python27\Scripts\pip.exe install python-bitcoinrpc==0.1 - - C:\Python27\Scripts\pip.exe install qrcode==5.2.2 - - C:\Python27\Scripts\pip.exe install requests_futures==0.9.7 - - C:\Python27\Scripts\pip.exe install seccure==0.3.1.3 - - C:\Python27\Scripts\pip.exe install simplejson==3.8.2 - - C:\Python27\Scripts\pip.exe install slowaes==0.1a1 - - C:\Python27\Scripts\pip.exe install txJSON-RPC==0.3.1 - - C:\Python27\Scripts\pip.exe install unqlite==0.5.3 - - C:\Python27\Scripts\pip.exe install wsgiref==0.1.2 - - C:\Python27\Scripts\pip.exe install base58==0.2.2 - - C:\Python27\Scripts\pip.exe install googlefinance==0.7 - - C:\Python27\Scripts\pip.exe install git+https://github.com/lbryio/lbryum.git - - cd C:\projects\lbry +- ps: .\packaging\windows\init.ps1 install: - nuget install secure-file -ExcludeVersion - secure-file\tools\secure-file -decrypt packaging\windows\certs\lbry2.pfx.enc -secret %pfx_key% -- cmd: C:\Python27\python.exe setup.py install +- ps: .\packaging\windows\install.ps1 build_script: @@ -140,12 +47,12 @@ artifacts: deploy: - release: myproduct-v$(appveyor_build_version) - description: 'Release description' + release: $(APPVEYOR_REPO_TAG_NAME) + description: 'Release' provider: GitHub auth_token: secure: 28gMVxQkXr2iXP4F+5kVwefUtKCfS1ePZ97PVfaSR8UDupjAvKhSJx862TnEjukb - artifact: /.*\.nupkg/ # upload all NuGet packages to release assets + artifact: dist/*.msi draft: false prerelease: true on: diff --git a/packaging/windows/init.ps1 b/packaging/windows/init.ps1 new file mode 100644 index 000000000..c91efc7f9 --- /dev/null +++ b/packaging/windows/init.ps1 @@ -0,0 +1,93 @@ +$env:Path += ";C:\MinGW\bin\" + +$env:Path += ";C:\Program Files (x86)\Windows Kits\10\bin\x86\" + +gcc --version + +mingw32-make --version + +mkdir C:\temp + +Invoke-WebRequest "https://pypi.python.org/packages/55/90/e987e28ed29b571f315afea7d317b6bf4a551e37386b344190cffec60e72/miniupnpc-1.9.tar.gz" -OutFile "C:\temp\miniupnpc-1.9.tar.gz" + +cd C:\temp + +7z e miniupnpc-1.9.tar.gz + +7z x miniupnpc-1.9.tar + +cd C:\temp\miniupnpc-1.9 + +mingw32-make.exe -f Makefile.mingw + +C:\Python27\python.exe C:\temp\miniupnpc-1.9\setupmingw32.py build --compiler=mingw32 + +C:\Python27\python.exe C:\temp\miniupnpc-1.9\setupmingw32.py install + +Invoke-WebRequest "https://github.com/lbryio/lbry/raw/master/packaging/windows/libs/gmpy-1.17-cp27-none-win32.whl" -OutFile "C:\temp\gmpy-1.17-cp27-none-win32.whl" + +C:\Python27\Scripts\pip.exe install "C:\temp\gmpy-1.17-cp27-none-win32.whl" + +C:\Python27\Scripts\pip.exe install pypiwin32==219 + +C:\Python27\Scripts\pip.exe install six==1.9.0 + +C:\Python27\Scripts\pip.exe install requests==2.9.1 + +C:\Python27\Scripts\pip.exe install zope.interface==4.1.3 + +C:\Python27\Scripts\pip.exe install cx-freeze==4.3.3 + +C:\Python27\Scripts\pip.exe install cython==0.24.1 + +C:\Python27\Scripts\pip.exe install Twisted==16.0.0 + +C:\Python27\Scripts\pip.exe install Yapsy==1.11.223 + +C:\Python27\Scripts\pip.exe install appdirs==1.4.0 + +C:\Python27\Scripts\pip.exe install argparse==1.2.1 + +C:\Python27\Scripts\pip.exe install colorama==0.3.7 + +C:\Python27\Scripts\pip.exe install dnspython==1.12.0 + +C:\Python27\Scripts\pip.exe install ecdsa==0.13 + +C:\Python27\Scripts\pip.exe install jsonrpc==1.2 + +C:\Python27\Scripts\pip.exe install jsonrpclib==0.1.7 + +C:\Python27\Scripts\pip.exe install loggly-python-handler==1.0.0 + +C:\Python27\Scripts\pip.exe install pbkdf2==1.3 + +C:\Python27\Scripts\pip.exe install protobuf==3.0.0 + +C:\Python27\Scripts\pip.exe install pycrypto==2.6.1 + +C:\Python27\Scripts\pip.exe install python-bitcoinrpc==0.1 + +C:\Python27\Scripts\pip.exe install qrcode==5.2.2 + +C:\Python27\Scripts\pip.exe install requests_futures==0.9.7 + +C:\Python27\Scripts\pip.exe install seccure==0.3.1.3 + +C:\Python27\Scripts\pip.exe install simplejson==3.8.2 + +C:\Python27\Scripts\pip.exe install slowaes==0.1a1 + +C:\Python27\Scripts\pip.exe install txJSON-RPC==0.3.1 + +C:\Python27\Scripts\pip.exe install unqlite==0.5.3 + +C:\Python27\Scripts\pip.exe install wsgiref==0.1.2 + +C:\Python27\Scripts\pip.exe install base58==0.2.2 + +C:\Python27\Scripts\pip.exe install googlefinance==0.7 + +C:\Python27\Scripts\pip.exe install git+https://github.com/lbryio/lbryum.git + +cd C:\projects\lbry diff --git a/packaging/windows/install.ps1 b/packaging/windows/install.ps1 new file mode 100644 index 000000000..eb793a65d --- /dev/null +++ b/packaging/windows/install.ps1 @@ -0,0 +1,15 @@ +C:\Python27\python.exe setup.py install + +# If this is a build because of a tag, make sure that +# its either a testing tag or a tag that matches the version +# specified in the source code. +If ($(APPVEYOR_REPO_TAG) -Match "true") { + If ($(APPVEYOR_REPO_TAG_NAME) -Like "test*") { + exit 0 + } + # non-testing tags should be in the form v1.2.3 + If ("v$(C:\Python27\python.exe setup.py -V" -Match $(APPVEYOR_REPO_TAG_NAME)) { + exit 0 + } + exit 1 +} \ No newline at end of file