mirror of
https://github.com/shivammathur/setup-php.git
synced 2026-09-16 10:11:28 +00:00
Preserve Composer checksum pins for full version suffixes
This commit is contained in:
@@ -853,6 +853,25 @@ describe('Tools tests', () => {
|
||||
describe.each(['linux', 'darwin', 'win32'])(
|
||||
'Checksum version requirements on %s',
|
||||
os => {
|
||||
it.each(['2.9.8+build.1', '2.9.8-rc.1', '2.9.8-rc.1+build.2'])(
|
||||
'preserves the exact Composer version and checksum for %s',
|
||||
async version => {
|
||||
const checksum = 'sha256:' + 'a'.repeat(64);
|
||||
const release = `composer:${version}@${checksum}`;
|
||||
expect(await tools.filterList([release])).toEqual([release]);
|
||||
const script = await tools.addTools(release, '8.4', os);
|
||||
expect(script).toContain(
|
||||
`https://github.com/composer/composer/releases/download/${version}/composer.phar`
|
||||
);
|
||||
expect(script).toContain(
|
||||
`https://getcomposer.org/download/${version}/composer.phar`
|
||||
);
|
||||
expect(script).toContain(`composer ${version} ${checksum}`);
|
||||
expect(script).not.toContain('latest');
|
||||
expect(script).not.toContain('composer-stable.phar');
|
||||
}
|
||||
);
|
||||
|
||||
it.each([
|
||||
'',
|
||||
':latest',
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+3
-2
@@ -318,7 +318,8 @@ export async function filterList(tools_list: string[]): Promise<string[]> {
|
||||
const parsed = extractChecksum(tool);
|
||||
return (
|
||||
regex_valid.test(parsed.release) ||
|
||||
(regex_any.test(parsed.release) && parsed.error !== undefined)
|
||||
(regex_any.test(parsed.release) &&
|
||||
(parsed.checksum !== undefined || parsed.error !== undefined))
|
||||
);
|
||||
});
|
||||
let composer = 'composer';
|
||||
@@ -490,7 +491,7 @@ export async function addComposer(data: ToolData): Promise<string> {
|
||||
case /^1$/.test(channel):
|
||||
source_url = channel_source_url;
|
||||
break;
|
||||
case /^\d+\.\d+\.\d+(?:-[\w-]+)?$/.test(data.version):
|
||||
case /^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/.test(data.version):
|
||||
if (skipGitHubAuthForComposerVersion(data.version)) {
|
||||
cleanComposerAuthJson();
|
||||
skip_composer_github_auth = ' true';
|
||||
|
||||
Reference in New Issue
Block a user