2026-10-23T20:18:21.4340706Z Current runner version: '2.338.0' 2026-10-23T20:18:21.4368399Z ##[group]Runner Image Provisioner 2026-10-23T20:18:21.4369314Z Hosted Compute Agent 2026-10-23T20:18:21.4370024Z Version: 20261012.601 2026-10-23T20:18:21.4370685Z Commit: f3dc54e1fb89da6852db922499a0233137369e1d 2026-10-23T20:18:21.4371455Z Build Date: 2026-10-12T17:48:21Z 2026-10-23T20:18:21.4372212Z Worker ID: {7cab454d-9c54-4c00-aee5-611a05831ef6} 2026-10-23T20:18:21.4373391Z Region: westus2 2026-10-23T20:18:21.4374015Z Cloud: Azure 2026-10-23T20:18:21.4374566Z ##[endgroup] 2026-10-23T20:18:21.4376408Z ##[group]Operating System 2026-10-23T20:18:21.4377240Z Ubuntu 2026-10-23T20:18:21.4377778Z 24.04.5 2026-10-23T20:18:21.4378414Z LTS 2026-10-23T20:18:21.4378935Z ##[endgroup] 2026-10-23T20:18:21.4379536Z ##[group]Runner Image 2026-10-23T20:18:21.4380286Z Image: ubuntu-24.04 2026-10-23T20:18:21.4380920Z Version: 20261012.334.1 2026-10-23T20:18:21.4382313Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261012.334/images/ubuntu/Ubuntu2404-Readme.md 2026-10-23T20:18:21.4384255Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261012.334 2026-10-23T20:18:21.4385404Z ##[endgroup] 2026-10-23T20:18:21.4386605Z ##[group]GITHUB_TOKEN Permissions 2026-10-23T20:18:21.4388933Z Contents: read 2026-10-23T20:18:21.4389543Z Metadata: read 2026-10-23T20:18:21.4390180Z Packages: read 2026-10-23T20:18:21.4390789Z ##[endgroup] 2026-10-23T20:18:21.4393360Z Secret source: Actions 2026-10-23T20:18:21.4394828Z Cache mode: write 2026-10-23T20:18:21.4395544Z Prepare workflow directory 2026-10-23T20:18:21.4763427Z Prepare all required actions 2026-10-23T20:18:21.4813608Z Getting action download info 2026-10-23T20:18:21.8370255Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262) 2026-10-23T20:18:22.1217149Z Download action repository 'hacs/action@main' (SHA:1ebf01c408f29afcb6406bd431bc98fd8cbb15aa) 2026-10-23T20:18:22.3841284Z Complete job name: hacs 2026-10-23T20:18:22.4444770Z ##[group]Pull down action image 'ghcr.io/hacs/action:main' 2026-10-23T20:18:22.5172104Z ##[command]/usr/bin/docker pull ghcr.io/hacs/action:main 2026-10-23T20:18:23.4077502Z main: Pulling from hacs/action 2026-10-23T20:18:23.5158524Z e2de96513ba9: Already exists 2026-10-23T20:18:23.5196284Z 48f6a2588427: Pulling fs layer 2026-10-23T20:18:23.5197713Z 2a22c5887fa2: Pulling fs layer 2026-10-23T20:18:23.5198933Z d486488257d0: Pulling fs layer 2026-10-23T20:18:23.5199961Z 1681a10524cc: Pulling fs layer 2026-10-23T20:18:23.5200746Z 218aa9bdf485: Pulling fs layer 2026-10-23T20:18:23.5201534Z bdd1851e0e09: Pulling fs layer 2026-10-23T20:18:23.5202280Z 218aa9bdf485: Waiting 2026-10-23T20:18:23.5203403Z bdd1851e0e09: Waiting 2026-10-23T20:18:23.5204134Z 1681a10524cc: Waiting 2026-10-23T20:18:23.6446035Z d486488257d0: Verifying Checksum 2026-10-23T20:18:23.6447420Z d486488257d0: Download complete 2026-10-23T20:18:23.6625759Z 48f6a2588427: Verifying Checksum 2026-10-23T20:18:23.6627769Z 48f6a2588427: Download complete 2026-10-23T20:18:23.7417836Z 2a22c5887fa2: Verifying Checksum 2026-10-23T20:18:23.7422464Z 2a22c5887fa2: Download complete 2026-10-23T20:18:23.7623323Z 1681a10524cc: Download complete 2026-10-23T20:18:23.7870658Z 218aa9bdf485: Verifying Checksum 2026-10-23T20:18:23.7872058Z 218aa9bdf485: Download complete 2026-10-23T20:18:24.3718036Z bdd1851e0e09: Verifying Checksum 2026-10-23T20:18:24.3720023Z bdd1851e0e09: Download complete 2026-10-23T20:18:26.1448457Z 48f6a2588427: Pull complete 2026-10-23T20:18:26.9234352Z 2a22c5887fa2: Pull complete 2026-10-23T20:18:26.9351227Z d486488257d0: Pull complete 2026-10-23T20:18:26.9484622Z 1681a10524cc: Pull complete 2026-10-23T20:18:26.9830143Z 218aa9bdf485: Pull complete 2026-10-23T20:18:56.6753080Z bdd1851e0e09: Pull complete 2026-10-23T20:18:56.6785334Z Digest: sha256:187499a09c5d41f9f0d42ff80d203ed87b974c028290140913b61e005fb0aab2 2026-10-23T20:18:56.6794938Z Status: Downloaded newer image for ghcr.io/hacs/action:main 2026-10-23T20:18:56.6811784Z ghcr.io/hacs/action:main 2026-10-23T20:18:56.6843952Z ##[endgroup] 2026-10-23T20:18:56.7187776Z ##[group]Run actions/checkout@v4 2026-10-23T20:18:56.7188451Z with: 2026-10-23T20:18:56.7188742Z repository: Mezzle/govee-bluetooth 2026-10-23T20:18:56.7191812Z token: *** 2026-10-23T20:18:56.7192083Z ssh-strict: true 2026-10-23T20:18:56.7192366Z ssh-user: git 2026-10-23T20:18:56.7192855Z persist-credentials: true 2026-10-23T20:18:56.7193153Z clean: true 2026-10-23T20:18:56.7193418Z sparse-checkout-cone-mode: true 2026-10-23T20:18:56.7193728Z fetch-depth: 1 2026-10-23T20:18:56.7193984Z fetch-tags: false 2026-10-23T20:18:56.7194249Z show-progress: true 2026-10-23T20:18:56.7194508Z lfs: false 2026-10-23T20:18:56.7194761Z submodules: false 2026-10-23T20:18:56.7195025Z set-safe-directory: true 2026-10-23T20:18:56.7195329Z allow-unsafe-pr-checkout: false 2026-10-23T20:18:56.7195902Z ##[endgroup] 2026-10-23T20:18:56.8266613Z Syncing repository: Mezzle/govee-bluetooth 2026-10-23T20:18:56.8268689Z ##[group]Getting Git version info 2026-10-23T20:18:56.8269347Z Working directory is '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-23T20:18:56.8273392Z [command]/usr/bin/git version 2026-10-23T20:18:56.8426656Z git version 2.55.0 2026-10-23T20:18:56.8454966Z ##[endgroup] 2026-10-23T20:18:56.8471677Z Temporarily overriding HOME='/home/runner/work/_temp/971d7b25-0a1f-431d-b34a-533eac8e5a4f' before making global git config changes 2026-10-23T20:18:56.8473663Z Adding repository directory to the temporary git global config as a safe directory 2026-10-23T20:18:56.8478451Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-23T20:18:56.8542404Z Deleting the contents of '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-23T20:18:56.8546890Z ##[group]Initializing the repository 2026-10-23T20:18:56.8553364Z [command]/usr/bin/git init /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-23T20:18:56.8703852Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-23T20:18:56.8705432Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-23T20:18:56.8706665Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-23T20:18:56.8707691Z hint: call: 2026-10-23T20:18:56.8708403Z hint: 2026-10-23T20:18:56.8709322Z hint: git config --global init.defaultBranch 2026-10-23T20:18:56.8710148Z hint: 2026-10-23T20:18:56.8711128Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-23T20:18:56.8713840Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-23T20:18:56.8714543Z hint: 2026-10-23T20:18:56.8714874Z hint: git branch -m 2026-10-23T20:18:56.8715163Z hint: 2026-10-23T20:18:56.8715554Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-23T20:18:56.8716646Z Initialized empty Git repository in /home/runner/work/govee-bluetooth/govee-bluetooth/.git/ 2026-10-23T20:18:56.8721026Z [command]/usr/bin/git remote add origin https://github.com/Mezzle/govee-bluetooth 2026-10-23T20:18:56.8793020Z ##[endgroup] 2026-10-23T20:18:56.8793965Z ##[group]Disabling automatic garbage collection 2026-10-23T20:18:56.8798415Z [command]/usr/bin/git config --local gc.auto 0 2026-10-23T20:18:56.8846408Z ##[endgroup] 2026-10-23T20:18:56.8847189Z ##[group]Setting up auth 2026-10-23T20:18:56.8855933Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-23T20:18:56.8891829Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-23T20:18:56.9322493Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-23T20:18:56.9363236Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2026-10-23T20:18:56.9604140Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-23T20:18:56.9645120Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-23T20:18:56.9888358Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-23T20:18:56.9934222Z ##[endgroup] 2026-10-23T20:18:56.9935001Z ##[group]Fetching the repository 2026-10-23T20:18:56.9945129Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +0bf1400721c867516d6a737a96653ee8dc9a72c8:refs/remotes/origin/docs/additional-bench-evidence 2026-10-23T20:18:57.3324810Z From https://github.com/Mezzle/govee-bluetooth 2026-10-23T20:18:57.3343965Z * [new ref] 0bf1400721c867516d6a737a96653ee8dc9a72c8 -> origin/docs/additional-bench-evidence 2026-10-23T20:18:57.3347488Z ##[endgroup] 2026-10-23T20:18:57.3348018Z ##[group]Determining the checkout info 2026-10-23T20:18:57.3348542Z ##[endgroup] 2026-10-23T20:18:57.3348883Z [command]/usr/bin/git sparse-checkout disable 2026-10-23T20:18:57.3416406Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-23T20:18:57.3456787Z ##[group]Checking out the ref 2026-10-23T20:18:57.3463758Z [command]/usr/bin/git checkout --progress --force -B docs/additional-bench-evidence refs/remotes/origin/docs/additional-bench-evidence 2026-10-23T20:18:57.3618132Z Switched to a new branch 'docs/additional-bench-evidence' 2026-10-23T20:18:57.3623989Z branch 'docs/additional-bench-evidence' set up to track 'origin/docs/additional-bench-evidence'. 2026-10-23T20:18:57.3631556Z ##[endgroup] 2026-10-23T20:18:57.3693432Z [command]/usr/bin/git log -1 --format=%H 2026-10-23T20:18:57.3728587Z 0bf1400721c867516d6a737a96653ee8dc9a72c8 2026-10-23T20:18:57.3976899Z ##[group]Run hacs/action@main 2026-10-23T20:18:57.3977278Z with: 2026-10-23T20:18:57.3977501Z category: integration 2026-10-23T20:18:57.3977734Z comment: true 2026-10-23T20:18:57.3980545Z github_token: *** 2026-10-23T20:18:57.3980773Z ##[endgroup] 2026-10-23T20:18:57.4089282Z ##[command]/usr/bin/docker run --name ghcriohacsactionmain_2b1d1a --label e3890c --workdir /github/workspace --rm -e "INPUT_CATEGORY" -e "INPUT_IGNORE" -e "INPUT_REPOSITORY" -e "INPUT_COMMENT" -e "INPUT_GITHUB_TOKEN" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "GITHUB_ARTIFACTS" -e "GITHUB_ARTIFACTS_LIST" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e "ACTIONS_RESULTS_URL" -e "ACTIONS_CACHE_MODE" -e "ACTIONS_ORCHESTRATION_ID" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp":"/github/runner_temp" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/govee-bluetooth/govee-bluetooth":"/github/workspace" ghcr.io/hacs/action:main 2026-10-23T20:19:04.5365531Z ::INFO:: Category: integration 2026-10-23T20:19:04.5366747Z ::INFO:: Repository: Mezzle/govee-bluetooth@refs/heads/docs/additional-bench-evidence 2026-10-23T20:19:05.4971932Z ::INFO:: completed 2026-10-23T20:19:05.5000366Z ##[warning] The integration manifest has no categories, see https://contributors.home-assistant.io/core/integrations/categories/ 2026-10-23T20:19:05.5011136Z ::INFO:: completed 2026-10-23T20:19:05.5011659Z ::INFO:: completed 2026-10-23T20:19:05.5011983Z ::INFO:: completed 2026-10-23T20:19:05.5012845Z ::INFO:: completed 2026-10-23T20:19:05.5013560Z ::INFO:: completed 2026-10-23T20:19:05.5013915Z ::INFO:: completed 2026-10-23T20:19:05.5014239Z ::INFO:: completed 2026-10-23T20:19:05.5014559Z ::INFO:: completed 2026-10-23T20:19:05.6394443Z ::INFO:: completed 2026-10-23T20:19:05.6395126Z ::INFO:: All (10) checks passed 2026-10-23T20:19:06.6410661Z ::INFO:: Validation completed 2026-10-23T20:19:06.6428313Z ##[group]data 2026-10-23T20:19:06.6428755Z { 2026-10-23T20:19:06.6429047Z "data": { 2026-10-23T20:19:06.6429330Z "archived": false, 2026-10-23T20:19:06.6429694Z "authors": [ 2026-10-23T20:19:06.6430049Z "@mezzle" 2026-10-23T20:19:06.6430412Z ], 2026-10-23T20:19:06.6430741Z "category": "integration", 2026-10-23T20:19:06.6431180Z "config_flow": true, 2026-10-23T20:19:06.6431435Z "default_branch": "main", 2026-10-23T20:19:06.6432058Z "description": "Home Assistant integration for Govee LED strips over Bluetooth LE, via local adapters or ESPHome Bluetooth proxies. No cloud.", 2026-10-23T20:19:06.6433488Z "domain": "govee_bluetooth", 2026-10-23T20:19:06.6433916Z "downloads": 0, 2026-10-23T20:19:06.6434551Z "etag_repository": "W/\"5e61cf33c87183177f99c06bbb7a7ca24be4c95c0c171f5b6d9e4c6e334e4954\"", 2026-10-23T20:19:06.6435250Z "etag_releases": null, 2026-10-23T20:19:06.6435689Z "file_name": "", 2026-10-23T20:19:06.6436041Z "first_install": false, 2026-10-23T20:19:06.6436489Z "full_name": "Mezzle/govee-bluetooth", 2026-10-23T20:19:06.6436937Z "hide": false, 2026-10-23T20:19:06.6437293Z "has_issues": true, 2026-10-23T20:19:06.6437653Z "id": "1424335838", 2026-10-23T20:19:06.6438021Z "installed_commit": null, 2026-10-23T20:19:06.6438458Z "installed_version": null, 2026-10-23T20:19:06.6438891Z "installed": false, 2026-10-23T20:19:06.6439301Z "last_commit": null, 2026-10-23T20:19:06.6439734Z "last_updated": "2026-10-23T20:18:15Z", 2026-10-23T20:19:06.6440258Z "last_version": "v0.1.0", 2026-10-23T20:19:06.6440726Z "manifest_name": "Govee Bluetooth", 2026-10-23T20:19:06.6441187Z "new": true, 2026-10-23T20:19:06.6441550Z "open_issues": 1, 2026-10-23T20:19:06.6441942Z "prerelease": null, 2026-10-23T20:19:06.6442331Z "published_tags": [ 2026-10-23T20:19:06.6443003Z "v0.1.0" 2026-10-23T20:19:06.6443343Z ], 2026-10-23T20:19:06.6443664Z "releases": true, 2026-10-23T20:19:06.6444202Z "selected_tag": "refs/heads/docs/additional-bench-evidence", 2026-10-23T20:19:06.6444810Z "show_beta": false, 2026-10-23T20:19:06.6445204Z "stargazers_count": 0, 2026-10-23T20:19:06.6445615Z "topics": [ 2026-10-23T20:19:06.6445993Z "bluetooth", 2026-10-23T20:19:06.6446397Z "bluetooth-le", 2026-10-23T20:19:06.6446803Z "esphome", 2026-10-23T20:19:06.6447181Z "govee", 2026-10-23T20:19:06.6447527Z "hacs", 2026-10-23T20:19:06.6447917Z "home-assistant", 2026-10-23T20:19:06.6448369Z "home-assistant-integration" 2026-10-23T20:19:06.6449132Z ] 2026-10-23T20:19:06.6449439Z }, 2026-10-23T20:19:06.6449757Z "manifest": { 2026-10-23T20:19:06.6450145Z "content_in_root": false, 2026-10-23T20:19:06.6450590Z "country": [], 2026-10-23T20:19:06.6450978Z "filename": null, 2026-10-23T20:19:06.6451383Z "hacs": null, 2026-10-23T20:19:06.6451800Z "hide_default_branch": false, 2026-10-23T20:19:06.6452333Z "homeassistant": "2025.6.0", 2026-10-23T20:19:06.6453115Z "manifest": { 2026-10-23T20:19:06.6453514Z "name": "Govee Bluetooth", 2026-10-23T20:19:06.6453975Z "render_readme": true, 2026-10-23T20:19:06.6454436Z "homeassistant": "2025.6.0" 2026-10-23T20:19:06.6454876Z }, 2026-10-23T20:19:06.6455205Z "name": "Govee Bluetooth", 2026-10-23T20:19:06.6455675Z "persistent_directory": null, 2026-10-23T20:19:06.6456198Z "render_readme": true, 2026-10-23T20:19:06.6456644Z "zip_release": false 2026-10-23T20:19:06.6457090Z }, 2026-10-23T20:19:06.6457479Z "release": { 2026-10-23T20:19:06.6457853Z "tag": "v0.1.0", 2026-10-23T20:19:06.6458237Z "assets": [] 2026-10-23T20:19:06.6458582Z }, 2026-10-23T20:19:06.6458918Z "category": "integration", 2026-10-23T20:19:06.6459426Z "ref": "refs/heads/docs/additional-bench-evidence" 2026-10-23T20:19:06.6459910Z } 2026-10-23T20:19:06.6460696Z ##[endgroup] 2026-10-23T20:19:07.3090699Z Post job cleanup. 2026-10-23T20:19:07.4022644Z [command]/usr/bin/git version 2026-10-23T20:19:07.4070511Z git version 2.55.0 2026-10-23T20:19:07.4113684Z Temporarily overriding HOME='/home/runner/work/_temp/b80c2a80-4ee6-46ca-bd63-2ec239d2ad2c' before making global git config changes 2026-10-23T20:19:07.4115054Z Adding repository directory to the temporary git global config as a safe directory 2026-10-23T20:19:07.4121652Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-23T20:19:07.4168482Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-23T20:19:07.4208481Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-23T20:19:07.4476187Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-23T20:19:07.4512874Z http.https://github.com/.extraheader 2026-10-23T20:19:07.4524952Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2026-10-23T20:19:07.4563622Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2026-10-23T20:19:07.4884068Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-23T20:19:07.4931801Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-23T20:19:07.5347955Z Cleaning up orphan processes 2026-10-23T20:19:07.5897571Z ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/