Support .php-version file; closes #629

This commit is contained in:
Steve Lacey
2023-01-29 13:26:49 +08:00
parent baf9535ba5
commit fd03521cb4
6 changed files with 98 additions and 6 deletions

View File

@ -1,3 +1,4 @@
import fs from 'fs';
import * as path from 'path';
import * as core from '@actions/core';
import * as fetch from './fetch';
@ -422,6 +423,37 @@ export async function parseExtensionSource(
);
}
/**
* Resolve php version from input or file
*/
export async function resolveVersion(): Promise<string> {
let version = await getInput('php-version', false);
let versionFile = await getInput('php-version-file', false);
if (version) {
return version;
}
if (versionFile && !fs.existsSync(versionFile)) {
throw new Error(`Could not find '${versionFile}' file.`);
}
versionFile ??= '.php-version';
if (fs.existsSync(versionFile)) {
version = fs.readFileSync(versionFile, 'utf8');
core.info(`Resolved ${versionFile} as ${version}`);
}
if (!version) {
throw new Error(
"Neither 'php-version' nor 'php-version-file' inputs were supplied, and could not find '.php-version' file."
);
}
return version;
}
/**
* Log to console
*