Browse Source

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)
tags/4.1.0
Andrew Senetar 1 month ago
parent
commit
d539517525
Signed by: arsenetar <[email protected]> GPG Key ID: C63300DCE48AB2F1
6 changed files with 25 additions and 40 deletions
  1. +8
    -16
      .travis.yml
  2. +1
    -3
      Windows.md
  3. +8
    -0
      build.py
  4. +1
    -0
      requirements-extra.txt
  5. +3
    -1
      requirements.txt
  6. +4
    -20
      tox.ini

+ 8
- 16
.travis.yml View File

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

+ 1
- 3
Windows.md 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>
$ py -3.7 -m venv .\env
$ .\env\Scripts\activate
$ pip install -r requirements.txt -r requirements-windows.txt
$ pip install -r requirements.txt
$ python build.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 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
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.



+ 8
- 0
build.py View File

@@ -54,6 +54,12 @@ def parse_args():
dest="normpo",
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()
return options

@@ -182,6 +188,8 @@ def main():
build_mergepot()
elif options.normpo:
build_normpo()
elif options.modules:
build_pe_modules()
else:
build_normal()



+ 1
- 0
requirements-extra.txt View File

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

+ 3
- 1
requirements.txt View File

@@ -2,4 +2,6 @@ Send2Trash>=1.3.0
sphinx>=1.2.2
polib>=1.0.4
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'

+ 4
- 20
tox.ini View File

@@ -1,35 +1,19 @@
[tox]
envlist = style,py36,py37,py38
envlist = py36,py37,py38,py39
skipsdist = True
skip_missing_interpreters = True

[testenv]
whitelist_externals =
make
setenv =
PYTHON="{envpython}"
commands =
make modules
py.test core hscommon
python build.py --modules
flake8
{posargs:py.test core hscommon}
deps =
-r{toxinidir}/requirements.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]
exclude = .tox,env,build,cocoalib,cocoa,help,./qt/dg_rc.py,cocoa/run_template.py,./pkg
max-line-length = 120


Loading…
Cancel
Save