openpreserve / jpylyzer

JP2 (JPEG 2000 Part 1) validator and properties extractor. Jpylyzer was specifically created to check that a JP2 file really conforms to the format's specifications. Additionally jpylyzer is able to extract technical characteristics.
http://jpylyzer.openpreservation.org/
Other
69 stars 28 forks source link

Travis CI fails on pre-commit (Py 3.5 build) #190

Closed bitsgalore closed 1 year ago

bitsgalore commented 1 year ago

Py 3.5 builds fail in Travis on Pylint, even though Pylint does not report any errors (just warnings):

The command "if [[ $TRAVIS_PYTHON_VERSION != '2.7' ]]; then pylint --disable R0201,R0801,R0902,R0904,R0912,R0913,R0914,R0915,R1702,R1703 --disable W0511,W0702,W0703 --disable C0200,C0302  setup.py ./tests/ ./jpylyzer/; fi" failed and exited with 20 during .

Your build has been stopped.

See e.g. this build.

Perhaps @carlwilson or @darrendignam could have a look, as I don't really understand what's happening myself?

(Py 2.7 builds also fail, but for different reasons that look like Python 2/3 compatibility issues. Probably not worth looking into as Py 2 support will be removed in Jpylyzer 2.2. In the meantime I've commented out the 2.7 build as per https://github.com/openpreserve/jpylyzer/commit/89fda7fd100614e0e59e3f3d49a9f5d362b1d9f7)

bitsgalore commented 1 year ago

UPDATE: after fixing all issues that throw Pylint warnings the build now proceeds after Pylint., but it still throws this error (full details here):

$ pre-commit run --all-files --verbose

[INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

An unexpected error has occurred: CalledProcessError: command: ('/usr/bin/git', 'fetch', 'origin', '--tags')

return code: 128

expected return code: 0

stdout: (none)

stderr:

    fatal: unable to connect to github.com:

    github.com[0: 140.82.114.3]: errno=Connection timed out

Check the log at /home/travis/.cache/pre-commit/pre-commit.log

The command "pre-commit run --all-files --verbose" exited with 1.

Everything else seems to work OK.

bitsgalore commented 1 year ago

UPDATE: changed the "repo" reference in the pre-commit config file: https://github.com/openpreserve/jpylyzer/commit/fbfa7465e7adc6b0341a45bd17e5f7f89b993033

This fixes the error above, but introduces a new one later on:

$ pre-commit run --all-files --verbose

[INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.

[INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.

[INFO] Once installed this environment will be reused.

[INFO] This may take a few minutes...

Check for byte-order marker..............................................Passed

- hook id: check-byte-order-marker

- duration: 0.18s

Check for case conflicts.................................................Passed

- hook id: check-case-conflict

- duration: 0.28s

Check docstring is first.................................................Failed

- hook id: check-docstring-first

- duration: 0.47s

- exit code: 1

tests/unit/test_testfiles.py:49 Multiple module docstrings (first docstring on line 4).

The command "pre-commit run --all-files --verbose" exited with 1.

It seems pre-commit mistakenly interprets some of the contents of the dictionary at line 49 and onwards in test_testfiles.py as docstrings. Might be related to this known issue.

So I commented this check out in the config file: https://github.com/openpreserve/jpylyzer/commit/9e4d6b54750b92c5a28db57c655339eb7c250cd6, which gets rid of the error (but do we even need this check?).

Result:

Done. Your build exited with 0.

Victory at last!