Skip to content

feat(cli): record which config key failed in config-load telemetry (CLI-2912) #9067

feat(cli): record which config key failed in config-load telemetry (CLI-2912)

feat(cli): record which config key failed in config-load telemetry (CLI-2912) #9067

Triggered via pull request November 3, 2026 13:44
Status Failure
Total duration 2m 38s
Artifacts 5

test.yml

on: pull_request
Detect platform-sensitive changes
3s
Detect platform-sensitive changes
Matrix: test-e2e
Matrix: test-integration
Matrix: test-stack-e2e
Run stack Podman integration tests
2m 14s
Run stack Podman integration tests
Check code quality
37s
Check code quality
Matrix: test-stack-native-scenarios
Matrix: test-stack-ports
Run end-to-end tests
3s
Run end-to-end tests
Run unit and integration tests
3s
Run unit and integration tests
Fit to window
Zoom out
Zoom in

Annotations

12 errors and 47 notices
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > fails with a tagged error after repeatedly losing the log stream while the container stays running: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2895
AssertionError: expected [ { config_key: undefined }, …(3) ] to strictly equal [] - Expected + Received - [] + [ + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + ] ❯ src/commands/functions/serve/serve.integration.test.ts:2895:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > records only the final end, not the watched-file restart before it: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2797
AssertionError: expected [ { config_key: undefined }, …(8) ] to strictly equal [ { …(2) } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "edge_runtime_exit_code": 15, "serve_end_reason": "container_stopped", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2797:43
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > ends the session normally when the container is removed before the follow-up inspect can run: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2752
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ Array(1) ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "serve_end_reason": "container_removed", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2752:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > ends the session normally, with a distinct message, when the container exits gracefully (exit 0): apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2718
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { …(2) } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "edge_runtime_exit_code": 0, "serve_end_reason": "container_exited", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2718:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > records the shutdown signal, not a crash, when a signal lands within the grace window of a container crash: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2568
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { serve_end_reason: 'signal' } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "serve_end_reason": "signal", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2568:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > ends the session successfully, with a distinct message, when a supervisor tears the container down (exit 15): apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2530
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { …(2) } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "edge_runtime_exit_code": 15, "serve_end_reason": "container_stopped", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2530:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > ends the session successfully, with a distinct message, when a supervisor tears the container down (exit 143): apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2530
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { …(2) } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "edge_runtime_exit_code": 143, "serve_end_reason": "container_stopped", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2530:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > still fails with a tagged error when the container crashes with a non-zero exit code: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2500
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { …(2) } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "edge_runtime_exit_code": 1, "serve_end_reason": "container_crashed", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2500:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > shutdown vs. container-exit outcomes > downgrades a startup failure to a clean shutdown when the signal lands within the grace window: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2464
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { serve_end_reason: 'signal' } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "serve_end_reason": "signal", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2464:45
[integration] src/commands/functions/serve/serve.integration.test.ts > functions serve integration > stops serving cleanly on a process signal: apps/cli/src/commands/functions/serve/serve.integration.test.ts#L2153
AssertionError: expected [ { config_key: undefined }, …(4) ] to strictly equal [ { serve_end_reason: 'signal' } ] - Expected + Received [ { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { + "config_key": undefined, + }, + { "serve_end_reason": "signal", }, ] ❯ src/commands/functions/serve/serve.integration.test.ts:2153:41
Run unit and integration tests
Process completed with exit code 1.
Run unit and integration tests
Unit or integration tests failed: unit=success, integration=failure, stack-ports=skipped
Detect platform-sensitive changes
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Check code quality
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (api)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (api)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, confinement)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, confinement)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 1/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 1/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 3/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 3/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (podman, lifecycle)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 1/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 1/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, confinement)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, confinement)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (podman, confinement)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (cli 2/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (cli 2/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli-e2e 2/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli-e2e 2/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 5/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 5/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 4/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 4/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, lifecycle)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, lifecycle)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 2/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli 2/5)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli-e2e 1/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run CLI end-to-end tests (cli-e2e 1/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, lifecycle)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, lifecycle)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 2/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 2/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (cli 1/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (cli 1/2)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 3/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run integration tests (stack 3/3)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run unit tests
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, idle-parallel)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (native, idle-parallel)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (podman, idle-parallel)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run unit and integration tests
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Run stack Podman integration tests
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, idle-parallel)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run stack end-to-end tests (docker, idle-parallel)
Sticky disk changes will not be committed for this job (branch protection: event "pull_request" is not a trusted trigger). The sticky disk is used as-is and any changes to it are discarded.
Run end-to-end tests
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"

Artifacts

Produced during runtime
Name Size Digest
e2e-timings-1
982 Bytes
sha256:43f7fd37345483e2bd0965539dd1868c2e1914846a4a648a87e464ebc99d6f84
e2e-timings-2
514 Bytes
sha256:7ca6ddc5dccb00396acb0fe831111ccd11cf9bbfd3c496b93eddb12197decd3b
e2e-timings-3
520 Bytes
sha256:5dbba2bb792ad3076f040bc3f900e7b276de4c6dd5aa09d3b433da3f984e96b3
e2e-timings-4
396 Bytes
sha256:70232d5b047378e78ffe0fca078f0e75a14a3bd4e1d160da66429e98200cc444
e2e-timings-5
407 Bytes
sha256:bc6e8ff64c2633164ac6bf40b1c6f4a18551de0b543ab520423ee4628c8095e5