split more al2 and al2023, change name from aws to al2

This commit is contained in:
Kyle McNally 2023-12-18 15:24:50 -05:00
parent 6dba931a9a
commit e5334713e3
5 changed files with 42 additions and 11 deletions

View File

@ -14,6 +14,7 @@ Resources:
CompatibleRuntimes: CompatibleRuntimes:
- nodejs16.x - nodejs16.x
- nodejs18.x - nodejs18.x
- nodejs20.x
node16: node16:
Type: AWS::Serverless::Function Type: AWS::Serverless::Function

Binary file not shown.

View File

@ -26,13 +26,17 @@ export const isValidUrl = (input: string) => {
export const isRunningInAwsLambda = () => { export const isRunningInAwsLambda = () => {
if ( if (
process.env["AWS_EXECUTION_ENV"] && process.env["AWS_EXECUTION_ENV"] &&
process.env["AWS_EXECUTION_ENV"].includes("AWS_Lambda_nodejs") process.env["AWS_EXECUTION_ENV"].includes("AWS_Lambda_nodejs") &&
!process.env["AWS_EXECUTION_ENV"].includes("20.x")
) { ) {
console.log("in aws");
return true; return true;
} else if ( } else if (
process.env["AWS_LAMBDA_JS_RUNTIME"] && process.env["AWS_LAMBDA_JS_RUNTIME"] &&
process.env["AWS_LAMBDA_JS_RUNTIME"].includes("nodejs") process.env["AWS_LAMBDA_JS_RUNTIME"].includes("nodejs") &&
!process.env["AWS_LAMBDA_JS_RUNTIME"].includes("20.x")
) { ) {
console.log("in aws");
return true; return true;
} }
return false; return false;
@ -43,6 +47,13 @@ export const isRunningInAwsLambdaNode20 = () => {
process.env["AWS_EXECUTION_ENV"] && process.env["AWS_EXECUTION_ENV"] &&
process.env["AWS_EXECUTION_ENV"].includes("20.x") process.env["AWS_EXECUTION_ENV"].includes("20.x")
) { ) {
console.log("in aws 20");
return true;
} else if (
process.env["AWS_LAMBDA_JS_RUNTIME"] &&
process.env["AWS_LAMBDA_JS_RUNTIME"].includes("20.x")
) {
console.log("in aws 20");
return true; return true;
} }
return false; return false;

View File

@ -55,21 +55,40 @@ if (isRunningInAwsLambda()) {
} }
if (process.env["LD_LIBRARY_PATH"] === undefined) { if (process.env["LD_LIBRARY_PATH"] === undefined) {
process.env["LD_LIBRARY_PATH"] = "/tmp/aws/lib"; process.env["LD_LIBRARY_PATH"] = "/tmp/al2/lib";
} else if ( } else if (
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/aws/lib") !== true || process.env["LD_LIBRARY_PATH"].startsWith("/tmp/al2/lib") !== true
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/al2023/lib") !== true
) { ) {
process.env["LD_LIBRARY_PATH"] = [ process.env["LD_LIBRARY_PATH"] = [
...new Set([ ...new Set([
isRunningInAwsLambdaNode20() ? "/tmp/al2023/lib" : undefined, "/tmp/al2/lib",
"/tmp/aws/lib",
...process.env["LD_LIBRARY_PATH"].split(":"), ...process.env["LD_LIBRARY_PATH"].split(":"),
]), ]),
].join(":"); ].join(":");
} }
} }
if (isRunningInAwsLambdaNode20()) {
if (process.env["FONTCONFIG_PATH"] === undefined) {
process.env["FONTCONFIG_PATH"] = "/tmp/fonts";
}
if (process.env["LD_LIBRARY_PATH"] === undefined) {
process.env["LD_LIBRARY_PATH"] = "/tmp/al2023/lib";
} else if (
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/al2023/lib") !== true
) {
process.env["LD_LIBRARY_PATH"] = [
...new Set([
"/tmp/al2023/lib",
...process.env["LD_LIBRARY_PATH"].split(":"),
]),
].join(":");
}
}
console.log("LD", process.env["LD_LIBRARY_PATH"]);
class Chromium { class Chromium {
/** /**
* Determines the headless mode that chromium will run at * Determines the headless mode that chromium will run at
@ -317,10 +336,10 @@ class Chromium {
} }
if (isRunningInAwsLambda()) { if (isRunningInAwsLambda()) {
// If running in AWS Lambda, extract more required files // If running in AWS Lambda, extract more required files
promises.push(LambdaFS.inflate(`${input}/aws.tar.br`)); promises.push(LambdaFS.inflate(`${input}/al2.tar.br`));
if (isRunningInAwsLambdaNode20()) { }
promises.push(LambdaFS.inflate(`${input}/al2023.tar.br`)); if (isRunningInAwsLambdaNode20()) {
} promises.push(LambdaFS.inflate(`${input}/al2023.tar.br`));
} }
// Await all extractions // Await all extractions