mediawiki/services/jobrunner (main)

sourcepatches
$ date
--- stdout ---
Sun Apr 21 20:38:43 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-services-jobrunner.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
ab24cae25f9c429b192c9c39c9a99bcfbe8426cc refs/heads/master

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 40 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.3)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.4)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v41.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.12.1)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (4.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.1)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking phan/phan (5.4.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.0)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.28.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.7.2)
  - Locking symfony/console (v5.4.36)
  - Locking symfony/deprecation-contracts (v3.4.0)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-intl-grapheme (v1.29.0)
  - Locking symfony/polyfill-intl-normalizer (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php73 (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/service-contracts (v3.4.2)
  - Locking symfony/string (v6.4.4)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/at-ease (v2.1.0)
  - Locking wikimedia/base-convert (v2.0.2)
  - Locking wikimedia/ip-set (3.1.0)
  - Locking wikimedia/ip-utils (4.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 40 installs, 0 updates, 0 removals
  - Downloading wikimedia/ip-set (3.1.0)
  - Downloading wikimedia/ip-utils (4.0.0)
 0/2 [>---------------------------]   0%
 2/2 [============================] 100%
  - Installing composer/pcre (3.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing symfony/string (v6.4.4): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.4.2): Extracting archive
  - Installing symfony/polyfill-php73 (v1.29.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
  - Installing symfony/console (v5.4.36): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.1): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.28.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing composer/xdebug-handler (3.0.4): Extracting archive
  - Installing phan/phan (5.4.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (4.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.12.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  - Installing wikimedia/at-ease (v2.1.0): Extracting archive
  - Installing wikimedia/ip-set (3.1.0): Extracting archive
  - Installing wikimedia/base-convert (v2.0.2): Extracting archive
  - Installing wikimedia/ip-utils (4.0.0): Extracting archive
  0/40 [>---------------------------]   0%
 22/40 [===============>------------]  55%
 37/40 [=========================>--]  92%
 40/40 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 41.0.0 -> 43.0.0
Upgrading c:mediawiki/mediawiki-phan-config from 0.12.1 -> 0.14.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 3 installs, 7 updates, 0 removals
  - Upgrading composer/semver (3.3.2 => 3.4.0)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0)
  - Upgrading mediawiki/mediawiki-phan-config (0.12.1 => 0.14.0)
  - Upgrading mediawiki/phan-taint-check-plugin (4.0.0 => 6.0.0)
  - Upgrading microsoft/tolerant-php-parser (v0.1.1 => v0.1.2)
  - Upgrading phan/phan (5.4.1 => 5.4.3)
  - Locking phpcsstandards/phpcsextra (1.1.2)
  - Locking phpcsstandards/phpcsutils (1.0.9)
  - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 3 installs, 7 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
  - Upgrading composer/semver (3.3.2 => 3.4.0): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0): Extracting archive
  - Upgrading microsoft/tolerant-php-parser (v0.1.1 => v0.1.2): Extracting archive
  - Upgrading phan/phan (5.4.1 => 5.4.3): Extracting archive
  - Upgrading mediawiki/phan-taint-check-plugin (4.0.0 => 6.0.0): Extracting archive
  - Upgrading mediawiki/mediawiki-phan-config (0.12.1 => 0.14.0): Extracting archive
 0/8 [>---------------------------]   0%
 7/8 [========================>---]  87%
 8/8 [============================] 100%
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Previously failing phpcs rules: {'MediaWiki.Usage.ForbiddenFunctions.compact', 'MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation', 'MediaWiki.Commenting.LicenseComment.LicenseTagNonFileComment', 'MediaWiki.Usage.ForbiddenFunctions.escapeshellarg', 'MediaWiki.Usage.ForbiddenFunctions.proc_open', 'MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":3,"warnings":4,"fixable":1},"files":{"\/src\/repo\/.phan\/stubs\/ReturnTypeWillChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisExceptionHA.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisJobRunnerService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/PeriodicScriptParamsIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisJobChronService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/JobRunnerPipeline.php":{"errors":0,"warnings":3,"messages":[{"message":"compact should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.compact","severity":5,"fixable":false,"type":"WARNING","line":191,"column":19},{"message":"escapeshellarg should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.escapeshellarg","severity":5,"fixable":false,"type":"WARNING","line":195,"column":23},{"message":"proc_open should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.proc_open","severity":5,"fixable":false,"type":"WARNING","line":214,"column":31}]},"\/src\/repo\/src\/RedisJobService.php":{"errors":3,"warnings":1,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15},{"message":"Expected 1 space between the comma and \"$content\". Found: 2 spaces","source":"Universal.WhiteSpace.CommaSpacing.TooMuchSpaceAfterInFunctionCall","severity":5,"fixable":true,"type":"ERROR","line":103,"column":56},{"message":"@license should only be used on the top level","source":"MediaWiki.Commenting.LicenseComment.LicenseTagNonFileComment","severity":5,"fixable":false,"type":"WARNING","line":430,"column":8},{"message":"@copyright is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":431,"column":8}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcbf
--- stdout ---

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/src/repo/src/RedisJobService.php                     1      3
----------------------------------------------------------------------
A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE
----------------------------------------------------------------------

Time: 439ms; Memory: 6MB



--- end ---
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":2,"warnings":4,"fixable":0},"files":{"\/src\/repo\/.phan\/stubs\/ReturnTypeWillChange.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisExceptionHA.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/PeriodicScriptParamsIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisJobRunnerService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/JobRunnerPipeline.php":{"errors":0,"warnings":3,"messages":[{"message":"compact should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.compact","severity":5,"fixable":false,"type":"WARNING","line":191,"column":19},{"message":"escapeshellarg should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.escapeshellarg","severity":5,"fixable":false,"type":"WARNING","line":195,"column":23},{"message":"proc_open should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.proc_open","severity":5,"fixable":false,"type":"WARNING","line":214,"column":31}]},"\/src\/repo\/src\/RedisJobChronService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/RedisJobService.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15},{"message":"@license should only be used on the top level","source":"MediaWiki.Commenting.LicenseComment.LicenseTagNonFileComment","severity":5,"fixable":false,"type":"WARNING","line":430,"column":8},{"message":"@copyright is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":431,"column":8}]}}}

--- end ---
$ git checkout .phpcs.xml
--- stderr ---
Updated 1 path from the index
--- stdout ---

--- end ---
Tests still failing. Skipping
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint redisJobChronService redisJobRunnerService . --exclude vendor
> phpcs -sp
> phan --allow-polyfill-parser --long-progress-bar
Parsing files...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  54 / 584 ( 13%) 44MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 108 / 584 ( 26%) 71MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 162 / 584 ( 31%) 79MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 216 / 584 ( 49%) 88MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 270 / 584 ( 49%) 88MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 324 / 584 ( 67%) 99MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 378 / 584 ( 67%) 99MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 432 / 584 ( 81%) 110MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 486 / 584 ( 91%) 122MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 540 / 584 ( 99%) 138MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░           584 / 584 (100%) 139MB
Analyzing classes...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 150MB
Analyzing functions...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 151MB
Analyzing methods...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 155MB
Analyzing files...
░░░░░░                                                 6 / 6 (100%) 163MB

Script phan --allow-polyfill-parser --long-progress-bar handling the test event returned with error code 1
--- stdout ---
PHP 8.2.7 | 10 parallel jobs
..........                                                   10/10 (100 %)


Checked 10 files in 0.1 seconds
No syntax error found
........ 8 / 8 (100%)


Time: 226ms; Memory: 6MB

src/RedisJobChronService.php:38 MediaWikiNoBaseException Instantiating \Exception directly is not allowed. Use SPL exceptions if the exception is unchecked, or define a custom exception class otherwise. See https://w.wiki/6nur
src/RedisJobRunnerService.php:40 MediaWikiNoBaseException Instantiating \Exception directly is not allowed. Use SPL exceptions if the exception is unchecked, or define a custom exception class otherwise. See https://w.wiki/6nur

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1581, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1520, in run
    self.composer_upgrade(plan)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 870, in composer_upgrade
    self.composer_test()
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 307, in composer_test
    self.check_call(['composer', 'test'])
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 54, in check_call
    res.check_returncode()
  File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/composer', 'test']' returned non-zero exit status 1.

composer dependencies

Dependencies
Development dependencies

Logs

Source code is licensed under the AGPL.