Skip to content

Disabled support for node 22 in first-generation functions. An error occurs when deploying functions. #1653

Closed
@siarheidudko

Description

@siarheidudko

Related issues

[REQUIRED] Version info

node:

22.9.0

firebase-functions:

6.1.2

firebase-tools:

13.29.1

firebase-admin:

13.0.1

[REQUIRED] Test case

image

Node v22 support for 1st generation functions has disappeared.

[REQUIRED] Steps to reproduce

  1. Specify engines (node 22) in package.json:
"engines": {
    "node": "22"
  },
  1. Use the 1st and 2nd generation functions. (Some functions cannot be migrated to the 2nd generation at the moment, for example authentication triggers.)
  2. Just run command: firebase deploy -m "message" --only functions --force

[REQUIRED] Expected behavior

The functions should be deployed in the same way as it happened from August to November 2024. I have updated the engine from v20 to v22 in August 2024
image

[REQUIRED] Actual behavior

image image
{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "code": 3,
      "message": "runtime: Runtime validation errors: [error_code: INVALID_RUNTIME\nmessage: \"Runtime \\\"nodejs22\\\" is not supported on GCF Gen1\"\n]"
    },
    "authenticationInfo": {
      "principalEmail": "[email protected]",
      "serviceAccountKeyName": "...",
      "principalSubject": "serviceAccount:[email protected]"
    },
    "requestMetadata": {
      "callerIp": "40.75.95.79",
      "callerSuppliedUserAgent": "FirebaseCLI/13.29.1,gzip(gfe),gzip(gfe)",
      "requestAttributes": {
        "time": "2024-12-14T11:08:18.672421Z",
        "auth": {}
      },
      "destinationAttributes": {}
    },
    "serviceName": "cloudfunctions.googleapis.com",
    "methodName": "google.cloud.functions.v1.CloudFunctionsService.UpdateFunction",
    "authorizationInfo": [
      {
        "resource": "projects/ireceipt-pro/locations/us-central1/functions/triggers_auth_user_delete",
        "permission": "cloudfunctions.functions.update",
        "granted": true,
        "resourceAttributes": {},
        "permissionType": "ADMIN_WRITE"
      }
    ],
    "resourceName": "projects/ireceipt-pro/locations/us-central1/functions/triggers_auth_user_delete",
    "request": {
      "function": {
        "entryPoint": "triggers_auth_user_delete",
        "timeout": "60s",
        "name": "projects/ireceipt-pro/locations/us-central1/functions/triggers_auth_user_delete",
        "eventTrigger": {
          "resource": "projects/ireceipt-pro",
          "eventType": "providers/firebase.auth/eventTypes/user.delete"
        },
        "runtime": "nodejs22",
        "availableMemoryMb": 256,
        "labels": {
          "firebase-functions-hash": "b18866339b3181ec0aa270cdc97e69a4427c82f6",
          "deployment-tool": "cli-firebase"
        },
        "sourceUploadUrl": "...",
        "dockerRegistry": "ARTIFACT_REGISTRY"
      },
      "@type": "type.googleapis.com/google.cloud.functions.v1.UpdateFunctionRequest",
      "updateMask": "name,sourceUploadUrl,entryPoint,runtime,dockerRegistry,labels,eventTrigger.eventType,eventTrigger.resource,eventTrigger.failurePolicy,minInstances,maxInstances,ingressSettings,environmentVariables,serviceAccountEmail,availableMemoryMb,timeout,vpcConnector,vpcConnectorEgressSettings,sourceToken,buildEnvironmentVariables"
    },
    "resourceLocation": {
      "currentLocations": [
        "us-central1"
      ]
    }
  },
  "insertId": "mj9i9de25o2r",
  "resource": {
    "type": "cloud_function",
    "labels": {
      "region": "us-central1",
      "function_name": "triggers_auth_user_delete",
      "project_id": "ireceipt-pro"
    }
  },
  "timestamp": "2024-12-14T11:08:18.513711Z",
  "severity": "ERROR",
  "logName": "projects/ireceipt-pro/logs/cloudaudit.googleapis.com%2Factivity",
  "receiveTimestamp": "2024-12-14T11:08:19.081159810Z"
}

Were you able to successfully deploy your functions?

No, this requires rolling back the platform to node v20.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions