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:
- nodejs16.x
- nodejs18.x
- nodejs20.x
node16:
Type: AWS::Serverless::Function

Binary file not shown.

View File

@ -26,13 +26,17 @@ export const isValidUrl = (input: string) => {
export const isRunningInAwsLambda = () => {
if (
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;
} else if (
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 false;
@ -43,6 +47,13 @@ export const isRunningInAwsLambdaNode20 = () => {
process.env["AWS_EXECUTION_ENV"] &&
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 false;

View File

@ -55,21 +55,40 @@ if (isRunningInAwsLambda()) {
}
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 (
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/aws/lib") !== true ||
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/al2023/lib") !== true
process.env["LD_LIBRARY_PATH"].startsWith("/tmp/al2/lib") !== true
) {
process.env["LD_LIBRARY_PATH"] = [
...new Set([
isRunningInAwsLambdaNode20() ? "/tmp/al2023/lib" : undefined,
"/tmp/aws/lib",
"/tmp/al2/lib",
...process.env["LD_LIBRARY_PATH"].split(":"),
]),
].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 {
/**
* Determines the headless mode that chromium will run at
@ -317,11 +336,11 @@ class Chromium {
}
if (isRunningInAwsLambda()) {
// 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`));
}
}
// Await all extractions
const result = await Promise.all(promises);