1
0
Fork 0

Merge branch '2.4'

pull/11156/head
Jordi Boggiano 2022-10-26 13:42:18 +02:00
commit ee0ec9ebc8
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
4 changed files with 44 additions and 13 deletions

26
composer.lock generated
View File

@ -2038,16 +2038,16 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.8.9", "version": "1.8.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2" "reference": "46e223dd68a620da18855c23046ddb00940b4014"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014",
"reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2", "reference": "46e223dd68a620da18855c23046ddb00940b4014",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2077,7 +2077,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/phpstan/phpstan/issues", "issues": "https://github.com/phpstan/phpstan/issues",
"source": "https://github.com/phpstan/phpstan/tree/1.8.9" "source": "https://github.com/phpstan/phpstan/tree/1.8.11"
}, },
"funding": [ "funding": [
{ {
@ -2093,7 +2093,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-10-13T13:40:18+00:00" "time": "2022-10-24T15:45:13+00:00"
}, },
{ {
"name": "phpstan/phpstan-deprecation-rules", "name": "phpstan/phpstan-deprecation-rules",
@ -2147,21 +2147,21 @@
}, },
{ {
"name": "phpstan/phpstan-phpunit", "name": "phpstan/phpstan-phpunit",
"version": "1.1.1", "version": "1.1.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan-phpunit.git", "url": "https://github.com/phpstan/phpstan-phpunit.git",
"reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84" "reference": "6b93db7fae6d6f3e81a5b4297f93af6fe4146785"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4a3c437c09075736285d1cabb5c75bf27ed0bc84", "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6b93db7fae6d6f3e81a5b4297f93af6fe4146785",
"reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84", "reference": "6b93db7fae6d6f3e81a5b4297f93af6fe4146785",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0", "php": "^7.2 || ^8.0",
"phpstan/phpstan": "^1.5.0" "phpstan/phpstan": "^1.8.0"
}, },
"conflict": { "conflict": {
"phpunit/phpunit": "<7.0" "phpunit/phpunit": "<7.0"
@ -2193,9 +2193,9 @@
"description": "PHPUnit extensions and rules for PHPStan", "description": "PHPUnit extensions and rules for PHPStan",
"support": { "support": {
"issues": "https://github.com/phpstan/phpstan-phpunit/issues", "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
"source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.1" "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.3"
}, },
"time": "2022-04-20T15:24:25+00:00" "time": "2022-10-24T11:38:17+00:00"
}, },
{ {
"name": "phpstan/phpstan-strict-rules", "name": "phpstan/phpstan-strict-rules",

View File

@ -5836,6 +5836,11 @@ parameters:
count: 1 count: 1
path: ../tests/Composer/Test/Repository/Vcs/PerforceDriverTest.php path: ../tests/Composer/Test/Repository/Vcs/PerforceDriverTest.php
-
message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertEmpty\\(\\) with array\\<'0\\.6\\.0'\\|'1\\.0\\.0'\\|'1\\.0\\.x\\-dev'\\|'1\\.1\\.x\\-dev'\\|'9999999\\-dev'\\|'dev\\-feature\\-b'\\|'dev\\-feature/a\\-1\\.0\\-B'\\|'dev\\-master', true\\> and literal\\-string&non\\-falsy\\-string will always evaluate to false\\.$#"
count: 1
path: ../tests/Composer/Test/Repository/VcsRepositoryTest.php
- -
message: "#^Only booleans are allowed in a negated boolean, string given\\.$#" message: "#^Only booleans are allowed in a negated boolean, string given\\.$#"
count: 1 count: 1

View File

@ -64,6 +64,15 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
* @internal * @internal
*/ */
public static $downloadMetadata = []; public static $downloadMetadata = [];
/**
* Collects response headers when running on GH Actions
*
* @see https://github.com/composer/composer/issues/11148
* @var array<string, array<string>>
* @private
* @internal
*/
public static $responseHeaders = [];
/** /**
* @var array<string, string> Map of package name to cache key * @var array<string, string> Map of package name to cache key
@ -222,6 +231,10 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
$cacheKey = $url['cacheKey']; $cacheKey = $url['cacheKey'];
FileDownloader::$downloadMetadata[$package->getName()] = @filesize($fileName) ?: $response->getHeader('Content-Length') ?: '?'; FileDownloader::$downloadMetadata[$package->getName()] = @filesize($fileName) ?: $response->getHeader('Content-Length') ?: '?';
if (Platform::getEnv('GITHUB_ACTIONS') !== false && Platform::getEnv('COMPOSER_TESTS_ARE_RUNNING') === false) {
FileDownloader::$responseHeaders[$package->getName()] = $response->getHeaders();
}
if ($cache && !$cache->isReadOnly()) { if ($cache && !$cache->isReadOnly()) {
$this->lastCacheWrites[$package->getName()] = $cacheKey; $this->lastCacheWrites[$package->getName()] = $cacheKey;
$cache->copyFrom($cacheKey, $fileName); $cache->copyFrom($cacheKey, $fileName);

View File

@ -151,6 +151,19 @@ class ZipDownloader extends ArchiveDownloader
$io->writeError(' <warning>'.$processError->getMessage().'</warning>'); $io->writeError(' <warning>'.$processError->getMessage().'</warning>');
$io->writeError(' The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)'); $io->writeError(' The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)');
$io->writeError(' Unzip with '.$executable.' command failed, falling back to ZipArchive class'); $io->writeError(' Unzip with '.$executable.' command failed, falling back to ZipArchive class');
// additional debug data to try to figure out GH actions issues https://github.com/composer/composer/issues/11148
if (Platform::getEnv('GITHUB_ACTIONS') !== false && Platform::getEnv('COMPOSER_TESTS_ARE_RUNNING') === false) {
$io->writeError(' <warning>Additional debug info, please report to https://github.com/composer/composer/issues/11148 if you see this:</warning>');
$io->writeError('File size: '.@filesize($file));
$io->writeError('File SHA1: '.hash_file('sha1', $file));
$io->writeError('First 100 bytes (hex): '.bin2hex(substr((string) file_get_contents($file), 0, 100)));
$io->writeError('Last 100 bytes (hex): '.bin2hex(substr((string) file_get_contents($file), -100)));
if (strlen((string) $package->getDistUrl()) > 0) {
$io->writeError('Origin URL: '.$this->processUrl($package, (string) $package->getDistUrl()));
$io->writeError('Response Headers: '.json_encode(FileDownloader::$responseHeaders[$package->getName()] ?? []));
}
}
} }
return $this->extractWithZipArchive($package, $file, $path); return $this->extractWithZipArchive($package, $file, $path);