From 27337a92437eb1645ffe99d248bcfae4229e9ecb Mon Sep 17 00:00:00 2001 From: Job Evers-Meltzer Date: Thu, 8 Sep 2016 22:31:38 -0700 Subject: [PATCH] appveyor updates - move init and build steps into dedicated scripts - deploy msi artifact on tag --- .appveyor.yml | 126 +++++----------------------------- packaging/windows/init.ps1 | 95 +++++++++++++++++++++++++ packaging/windows/install.ps1 | 15 ++++ packaging/windows/test.ps1 | 4 ++ 4 files changed, 132 insertions(+), 108 deletions(-) create mode 100644 packaging/windows/init.ps1 create mode 100644 packaging/windows/install.ps1 create mode 100644 packaging/windows/test.ps1 diff --git a/.appveyor.yml b/.appveyor.yml index cd066014f..1c74b30c2 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -12,116 +12,17 @@ notifications: incoming_webhook: secure: LuxwG5OZnnA//gmSXzCKu8/FRqYjCgGfVFqajSsGHeQ1HQNp7rYNhQpsO8/3PK63xKJj3wzt86DJekf9q9Q5OcHa9AHXUQbEveX0psd7elw= -branches: - only: - - master - - appveyor - - windows-setup 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 pyyaml==3.12 - - C:\Python27\Scripts\pip.exe install git+https://github.com/lbryio/lbryum.git - - cd C:\projects\lbry install: +- cmd: dir C:\projects\lbry\packaging\windows\ +- ps: .\packaging\windows\init.ps1 - 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: @@ -130,12 +31,8 @@ build_script: test_script: -- ps: >- - C:\Python27\Scripts\pip.exe install mock +- ps: .\packaging\windows\test.ps1 - C:\Python27\Scripts\pip.exe install pylint - - C:\Python27\python.exe C:\Python27\Scripts\trial.py C:\projects\lbry\tests\unit artifacts: - path: dist/*.msi @@ -143,4 +40,17 @@ artifacts: - path: build/exe.win32-2.7/ name: lbry-portable - path: packaging/windows/lbry-win32-app/LBRY-URI.reg - name: LBRY-URI \ No newline at end of file + name: LBRY-URI + + +deploy: + release: $(APPVEYOR_REPO_TAG_NAME) + description: 'Release' + provider: GitHub + auth_token: + secure: 28gMVxQkXr2iXP4F+5kVwefUtKCfS1ePZ97PVfaSR8UDupjAvKhSJx862TnEjukb + artifact: /.*\.msi/ + draft: false + prerelease: true + on: + appveyor_repo_tag: true # deploy on tag push only diff --git a/packaging/windows/init.ps1 b/packaging/windows/init.ps1 new file mode 100644 index 000000000..887b78d0a --- /dev/null +++ b/packaging/windows/init.ps1 @@ -0,0 +1,95 @@ +$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 pyyaml==3.12 + +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..714851fdc --- /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 diff --git a/packaging/windows/test.ps1 b/packaging/windows/test.ps1 new file mode 100644 index 000000000..7df3c60e3 --- /dev/null +++ b/packaging/windows/test.ps1 @@ -0,0 +1,4 @@ +C:\Python27\Scripts\pip.exe install mock +C:\Python27\Scripts\pip.exe install pylint +C:\Python27\python.exe C:\Python27\Scripts\trial.py C:\projects\lbry\tests\unit +