Update Windows Requirements & CI

- Merge windows requirements into requirements.txt and requirements-extra.txt
- Update tox.ini to always use build.py
- Update build.py to have module only option
- Update tox.ini to text python 3.9
- Update .travis.yml to test 3.8 and 3.9 on newer Ubuntu LTS
-Update .travis.yml to work with changes to windows tox
(also update windows to 3.8)
This commit is contained in:
Andrew Senetar 2020-12-28 20:59:01 -06:00
parent bf7d720126
commit d539517525
Signed by: arsenetar
GPG Key ID: C63300DCE48AB2F1
6 changed files with 25 additions and 40 deletions

View File

@ -5,11 +5,6 @@ install:
script: tox script: tox
matrix: matrix:
include: include:
- os: "linux"
dist: "xenial"
python: "3.8"
script:
- tox -e style
- os: "linux" - os: "linux"
dist: "xenial" dist: "xenial"
python: "3.6" python: "3.6"
@ -17,18 +12,15 @@ matrix:
dist: "xenial" dist: "xenial"
python: "3.7" python: "3.7"
- os: "linux" - os: "linux"
dist: "xenial" dist: "focal"
python: "3.8" python: "3.8"
- os: "linux"
dist: "focal"
python: "3.9"
- os: "windows" - os: "windows"
language: shell language: shell
python: "3.7" python: "3.8"
env: "PATH=/c/python37:/c/python37/Scripts:$PATH" env: "PATH=/c/python38:/c/python39/Scripts:$PATH"
before_install: before_install:
- choco install python --version=3.7.6 - choco install python --version=3.8.6
- choco install make - cp /c/python38/python.exe /c/python38/python3.exe
- cp /c/python37/python.exe /c/python37/python3.exe
before_script:
- pip3 install -r requirements-windows.txt
- python3 build.py
script:
- tox -e WINDOWS

View File

@ -21,7 +21,7 @@ To build with a different python version 3.5 vs 3.7 or 32 bit vs 64 bit specify
$ cd <dupeGuru directory> $ cd <dupeGuru directory>
$ py -3.7 -m venv .\env $ py -3.7 -m venv .\env
$ .\env\Scripts\activate $ .\env\Scripts\activate
$ pip install -r requirements.txt -r requirements-windows.txt $ pip install -r requirements.txt
$ python build.py $ python build.py
$ python run.py $ python run.py
@ -37,8 +37,6 @@ Then the following execution of the makefile should work. Pass the correct valu
$ make PYTHON='py -3.7' $ make PYTHON='py -3.7'
$ make run $ make run
NOTE: Install PyQt5 & cx-Freeze with requirements-windows.txt into the venv before running the packaging scripts in the section below.
### Generate Windows Installer Packages ### Generate Windows Installer Packages
You need to use the respective x86 or x64 version of python to build the 32 bit and 64 bit versions. The build scripts will automatically detect the python architecture for you. When using build.py make sure the resulting python works before continuing to package.py. NOTE: package.py looks for the 'makensis' executable in the default location for a 64 bit windows system. Run the following in the respective virtual environment. You need to use the respective x86 or x64 version of python to build the 32 bit and 64 bit versions. The build scripts will automatically detect the python architecture for you. When using build.py make sure the resulting python works before continuing to package.py. NOTE: package.py looks for the 'makensis' executable in the default location for a 64 bit windows system. Run the following in the respective virtual environment.

View File

@ -54,6 +54,12 @@ def parse_args():
dest="normpo", dest="normpo",
help="Normalize all PO files (do this before commit).", help="Normalize all PO files (do this before commit).",
) )
parser.add_option(
"--modules",
action="store_true",
dest="modules",
help="Build the python modules.",
)
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
return options return options
@ -182,6 +188,8 @@ def main():
build_mergepot() build_mergepot()
elif options.normpo: elif options.normpo:
build_normpo() build_normpo()
elif options.modules:
build_pe_modules()
else: else:
build_normal() build_normal()

View File

@ -2,3 +2,4 @@ pytest>=5,<6
flake8 flake8
tox-travis tox-travis
black black
pyinstaller>=3.4,<4.0; sys_platform == 'win32'

View File

@ -2,4 +2,6 @@ Send2Trash>=1.3.0
sphinx>=1.2.2 sphinx>=1.2.2
polib>=1.0.4 polib>=1.0.4
hsaudiotag3k>=1.1.3 hsaudiotag3k>=1.1.3
distro>=1.5.0 distro>=1.5.0
PyQt5 >=5.4,<6.0; sys_platform == 'win32'
pywin32>=200; sys_platform == 'win32'

24
tox.ini
View File

@ -1,35 +1,19 @@
[tox] [tox]
envlist = style,py36,py37,py38 envlist = py36,py37,py38,py39
skipsdist = True skipsdist = True
skip_missing_interpreters = True skip_missing_interpreters = True
[testenv] [testenv]
whitelist_externals =
make
setenv = setenv =
PYTHON="{envpython}" PYTHON="{envpython}"
commands = commands =
make modules python build.py --modules
py.test core hscommon flake8
{posargs:py.test core hscommon}
deps = deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-extra.txt -r{toxinidir}/requirements-extra.txt
[testenv:style]
deps =
{[testenv]deps}
flake8
commands =
flake8
[testenv:WINDOWS]
deps =
{[testenv]deps}
-r{toxinidir}/requirements-windows.txt
commands =
python build.py
python package.py
[flake8] [flake8]
exclude = .tox,env,build,cocoalib,cocoa,help,./qt/dg_rc.py,cocoa/run_template.py,./pkg exclude = .tox,env,build,cocoalib,cocoa,help,./qt/dg_rc.py,cocoa/run_template.py,./pkg
max-line-length = 120 max-line-length = 120