2026-10-24T00:58:37.5245667Z Current runner version: '2.338.0' 2026-10-24T00:58:37.5277037Z ##[group]Runner Image Provisioner 2026-10-24T00:58:37.5278165Z Hosted Compute Agent 2026-10-24T00:58:37.5278946Z Version: 20261012.601 2026-10-24T00:58:37.5279754Z Commit: f3dc54e1fb89da6852db922499a0233137369e1d 2026-10-24T00:58:37.5280644Z Build Date: 2026-10-12T17:48:21Z 2026-10-24T00:58:37.5281563Z Worker ID: {a4bef7e1-ec1e-4bb8-8ff3-5c5546713917} 2026-10-24T00:58:37.5282425Z Region: eastus 2026-10-24T00:58:37.5283138Z Cloud: Azure 2026-10-24T00:58:37.5283811Z ##[endgroup] 2026-10-24T00:58:37.5285556Z ##[group]Operating System 2026-10-24T00:58:37.5286425Z Ubuntu 2026-10-24T00:58:37.5287043Z 24.04.5 2026-10-24T00:58:37.5287700Z LTS 2026-10-24T00:58:37.5288528Z ##[endgroup] 2026-10-24T00:58:37.5289200Z ##[group]Runner Image 2026-10-24T00:58:37.5289935Z Image: ubuntu-24.04 2026-10-24T00:58:37.5290599Z Version: 20261012.334.1 2026-10-24T00:58:37.5292400Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261012.334/images/ubuntu/Ubuntu2404-Readme.md 2026-10-24T00:58:37.5294398Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261012.334 2026-10-24T00:58:37.5295670Z ##[endgroup] 2026-10-24T00:58:37.5297167Z ##[group]GITHUB_TOKEN Permissions 2026-10-24T00:58:37.5300096Z Contents: read 2026-10-24T00:58:37.5301160Z Metadata: read 2026-10-24T00:58:37.5301887Z Packages: read 2026-10-24T00:58:37.5302540Z ##[endgroup] 2026-10-24T00:58:37.5305080Z Secret source: Actions 2026-10-24T00:58:37.5306250Z Cache mode: write 2026-10-24T00:58:37.5307385Z Prepare workflow directory 2026-10-24T00:58:37.5689235Z Prepare all required actions 2026-10-24T00:58:37.5744372Z Getting action download info 2026-10-24T00:58:37.7412525Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262) 2026-10-24T00:58:37.8529983Z Download action repository 'hacs/action@main' (SHA:1ebf01c408f29afcb6406bd431bc98fd8cbb15aa) 2026-10-24T00:58:38.0940321Z Complete job name: hacs 2026-10-24T00:58:38.1405416Z ##[group]Pull down action image 'ghcr.io/hacs/action:main' 2026-10-24T00:58:38.1512678Z ##[command]/usr/bin/docker pull ghcr.io/hacs/action:main 2026-10-24T00:58:38.7694696Z main: Pulling from hacs/action 2026-10-24T00:58:38.8221995Z e2de96513ba9: Already exists 2026-10-24T00:58:38.8249435Z 48f6a2588427: Pulling fs layer 2026-10-24T00:58:38.8251556Z 2a22c5887fa2: Pulling fs layer 2026-10-24T00:58:38.8252311Z d486488257d0: Pulling fs layer 2026-10-24T00:58:38.8252957Z 1681a10524cc: Pulling fs layer 2026-10-24T00:58:38.8253455Z 218aa9bdf485: Pulling fs layer 2026-10-24T00:58:38.8253945Z bdd1851e0e09: Pulling fs layer 2026-10-24T00:58:38.8254386Z 1681a10524cc: Waiting 2026-10-24T00:58:38.8254784Z 218aa9bdf485: Waiting 2026-10-24T00:58:38.8255171Z bdd1851e0e09: Waiting 2026-10-24T00:58:38.9512916Z d486488257d0: Verifying Checksum 2026-10-24T00:58:38.9513969Z d486488257d0: Download complete 2026-10-24T00:58:38.9596385Z 48f6a2588427: Download complete 2026-10-24T00:58:39.0001020Z 1681a10524cc: Verifying Checksum 2026-10-24T00:58:39.0002209Z 1681a10524cc: Download complete 2026-10-24T00:58:39.0023795Z 218aa9bdf485: Download complete 2026-10-24T00:58:39.0357636Z 2a22c5887fa2: Verifying Checksum 2026-10-24T00:58:39.0358703Z 2a22c5887fa2: Download complete 2026-10-24T00:58:39.4777589Z bdd1851e0e09: Verifying Checksum 2026-10-24T00:58:45.4954905Z bdd1851e0e09: Download complete 2026-10-24T00:58:45.4956040Z 48f6a2588427: Pull complete 2026-10-24T00:58:46.3194136Z 2a22c5887fa2: Pull complete 2026-10-24T00:58:46.3299208Z d486488257d0: Pull complete 2026-10-24T00:58:46.3383473Z 1681a10524cc: Pull complete 2026-10-24T00:58:46.3698766Z 218aa9bdf485: Pull complete 2026-10-24T00:59:10.0714778Z bdd1851e0e09: Pull complete 2026-10-24T00:59:10.0745859Z Digest: sha256:187499a09c5d41f9f0d42ff80d203ed87b974c028290140913b61e005fb0aab2 2026-10-24T00:59:10.0769278Z Status: Downloaded newer image for ghcr.io/hacs/action:main 2026-10-24T00:59:10.0779267Z ghcr.io/hacs/action:main 2026-10-24T00:59:10.0795587Z ##[endgroup] 2026-10-24T00:59:10.1051269Z ##[group]Run actions/checkout@v4 2026-10-24T00:59:10.1051731Z with: 2026-10-24T00:59:10.1051945Z repository: Mezzle/govee-bluetooth 2026-10-24T00:59:10.1054123Z token: *** 2026-10-24T00:59:10.1054349Z ssh-strict: true 2026-10-24T00:59:10.1054542Z ssh-user: git 2026-10-24T00:59:10.1054727Z persist-credentials: true 2026-10-24T00:59:10.1054927Z clean: true 2026-10-24T00:59:10.1055125Z sparse-checkout-cone-mode: true 2026-10-24T00:59:10.1055340Z fetch-depth: 1 2026-10-24T00:59:10.1055563Z fetch-tags: false 2026-10-24T00:59:10.1055742Z show-progress: true 2026-10-24T00:59:10.1055925Z lfs: false 2026-10-24T00:59:10.1056088Z submodules: false 2026-10-24T00:59:10.1056266Z set-safe-directory: true 2026-10-24T00:59:10.1056482Z allow-unsafe-pr-checkout: false 2026-10-24T00:59:10.1056824Z ##[endgroup] 2026-10-24T00:59:10.1944061Z Syncing repository: Mezzle/govee-bluetooth 2026-10-24T00:59:10.1945581Z ##[group]Getting Git version info 2026-10-24T00:59:10.1946063Z Working directory is '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-24T00:59:10.1946698Z [command]/usr/bin/git version 2026-10-24T00:59:10.2048829Z git version 2.55.0 2026-10-24T00:59:10.2065304Z ##[endgroup] 2026-10-24T00:59:10.2078537Z Temporarily overriding HOME='/home/runner/work/_temp/9a4f8f10-6949-4256-8429-7204a4ca7563' before making global git config changes 2026-10-24T00:59:10.2081468Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T00:59:10.2083445Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-24T00:59:10.2133995Z Deleting the contents of '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-24T00:59:10.2144094Z ##[group]Initializing the repository 2026-10-24T00:59:10.2149075Z [command]/usr/bin/git init /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-24T00:59:10.2391071Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-24T00:59:10.2392205Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-24T00:59:10.2393116Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-24T00:59:10.2393816Z hint: call: 2026-10-24T00:59:10.2394765Z hint: 2026-10-24T00:59:10.2395404Z hint: git config --global init.defaultBranch 2026-10-24T00:59:10.2396026Z hint: 2026-10-24T00:59:10.2396587Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-24T00:59:10.2397399Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-24T00:59:10.2398357Z hint: 2026-10-24T00:59:10.2398768Z hint: git branch -m 2026-10-24T00:59:10.2399255Z hint: 2026-10-24T00:59:10.2399792Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-24T00:59:10.2400863Z Initialized empty Git repository in /home/runner/work/govee-bluetooth/govee-bluetooth/.git/ 2026-10-24T00:59:10.2404096Z [command]/usr/bin/git remote add origin https://github.com/Mezzle/govee-bluetooth 2026-10-24T00:59:10.2456373Z ##[endgroup] 2026-10-24T00:59:10.2456975Z ##[group]Disabling automatic garbage collection 2026-10-24T00:59:10.2460075Z [command]/usr/bin/git config --local gc.auto 0 2026-10-24T00:59:10.2495104Z ##[endgroup] 2026-10-24T00:59:10.2495591Z ##[group]Setting up auth 2026-10-24T00:59:10.2501640Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T00:59:10.2540164Z [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-24T00:59:10.2882592Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-24T00:59:10.2920318Z [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-24T00:59:10.3118325Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-24T00:59:10.3153859Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-24T00:59:10.3354858Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-24T00:59:10.3393329Z ##[endgroup] 2026-10-24T00:59:10.3394009Z ##[group]Fetching the repository 2026-10-24T00:59:10.3401219Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +0f594ec0b2d35ba7d0d28d5214b4e2b120c28cf1:refs/remotes/origin/docs/ble-readback-research 2026-10-24T00:59:10.5619540Z From https://github.com/Mezzle/govee-bluetooth 2026-10-24T00:59:10.5620642Z * [new ref] 0f594ec0b2d35ba7d0d28d5214b4e2b120c28cf1 -> origin/docs/ble-readback-research 2026-10-24T00:59:10.5622709Z ##[endgroup] 2026-10-24T00:59:10.5623195Z ##[group]Determining the checkout info 2026-10-24T00:59:10.5623699Z ##[endgroup] 2026-10-24T00:59:10.5623934Z [command]/usr/bin/git sparse-checkout disable 2026-10-24T00:59:10.5684796Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-24T00:59:10.5722989Z ##[group]Checking out the ref 2026-10-24T00:59:10.5730066Z [command]/usr/bin/git checkout --progress --force -B docs/ble-readback-research refs/remotes/origin/docs/ble-readback-research 2026-10-24T00:59:10.5876835Z Switched to a new branch 'docs/ble-readback-research' 2026-10-24T00:59:10.5879905Z branch 'docs/ble-readback-research' set up to track 'origin/docs/ble-readback-research'. 2026-10-24T00:59:10.5886153Z ##[endgroup] 2026-10-24T00:59:10.5931050Z [command]/usr/bin/git log -1 --format=%H 2026-10-24T00:59:10.5957727Z 0f594ec0b2d35ba7d0d28d5214b4e2b120c28cf1 2026-10-24T00:59:10.6173766Z ##[group]Run hacs/action@main 2026-10-24T00:59:10.6174005Z with: 2026-10-24T00:59:10.6174189Z category: integration 2026-10-24T00:59:10.6174403Z comment: true 2026-10-24T00:59:10.6176468Z github_token: *** 2026-10-24T00:59:10.6176664Z ##[endgroup] 2026-10-24T00:59:10.6268388Z ##[command]/usr/bin/docker run --name ghcriohacsactionmain_602067 --label 7405c1 --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-24T00:59:16.5752803Z ::INFO:: Category: integration 2026-10-24T00:59:16.5753268Z ::INFO:: Repository: Mezzle/govee-bluetooth@refs/heads/docs/ble-readback-research 2026-10-24T00:59:17.4925533Z ::INFO:: completed 2026-10-24T00:59:17.4945845Z ##[warning] The integration manifest has no categories, see https://contributors.home-assistant.io/core/integrations/categories/ 2026-10-24T00:59:17.4953327Z ::INFO:: completed 2026-10-24T00:59:17.4953665Z ::INFO:: completed 2026-10-24T00:59:17.4954035Z ::INFO:: completed 2026-10-24T00:59:17.4954459Z ::INFO:: completed 2026-10-24T00:59:17.4955016Z ::INFO:: completed 2026-10-24T00:59:17.4955357Z ::INFO:: completed 2026-10-24T00:59:17.4955716Z ::INFO:: completed 2026-10-24T00:59:17.4955989Z ::INFO:: completed 2026-10-24T00:59:17.5875364Z ::INFO:: completed 2026-10-24T00:59:17.5875777Z ::INFO:: All (10) checks passed 2026-10-24T00:59:18.5890131Z ::INFO:: Validation completed 2026-10-24T00:59:18.5903639Z ##[group]data 2026-10-24T00:59:18.5903897Z { 2026-10-24T00:59:18.5904109Z "data": { 2026-10-24T00:59:18.5904334Z "archived": false, 2026-10-24T00:59:18.5904594Z "authors": [ 2026-10-24T00:59:18.5904815Z "@mezzle" 2026-10-24T00:59:18.5905048Z ], 2026-10-24T00:59:18.5905332Z "category": "integration", 2026-10-24T00:59:18.5923602Z "config_flow": true, 2026-10-24T00:59:18.5923880Z "default_branch": "main", 2026-10-24T00:59:18.5924586Z "description": "Home Assistant integration for Govee LED strips over Bluetooth LE, via local adapters or ESPHome Bluetooth proxies. No cloud.", 2026-10-24T00:59:18.5925709Z "domain": "govee_bluetooth", 2026-10-24T00:59:18.5926009Z "downloads": 0, 2026-10-24T00:59:18.5926485Z "etag_repository": "W/\"df39f7c37be55cf10ea57dfd64ca543ffff36fa6a028bfdc6d8c1bb0904e5164\"", 2026-10-24T00:59:18.5927035Z "etag_releases": null, 2026-10-24T00:59:18.5927299Z "file_name": "", 2026-10-24T00:59:18.5927559Z "first_install": false, 2026-10-24T00:59:18.5927849Z "full_name": "Mezzle/govee-bluetooth", 2026-10-24T00:59:18.5928305Z "hide": false, 2026-10-24T00:59:18.5928537Z "has_issues": true, 2026-10-24T00:59:18.5928783Z "id": "1424335838", 2026-10-24T00:59:18.5929023Z "installed_commit": null, 2026-10-24T00:59:18.5929306Z "installed_version": null, 2026-10-24T00:59:18.5929576Z "installed": false, 2026-10-24T00:59:18.5929827Z "last_commit": null, 2026-10-24T00:59:18.5930097Z "last_updated": "2026-10-24T00:58:33Z", 2026-10-24T00:59:18.5930408Z "last_version": "v0.2.0", 2026-10-24T00:59:18.5930726Z "manifest_name": "Govee Bluetooth", 2026-10-24T00:59:18.5931013Z "new": true, 2026-10-24T00:59:18.5931247Z "open_issues": 1, 2026-10-24T00:59:18.5931504Z "prerelease": null, 2026-10-24T00:59:18.5931762Z "published_tags": [ 2026-10-24T00:59:18.5931999Z "v0.2.0", 2026-10-24T00:59:18.5932220Z "v0.1.0" 2026-10-24T00:59:18.5932435Z ], 2026-10-24T00:59:18.5932646Z "releases": true, 2026-10-24T00:59:18.5932970Z "selected_tag": "refs/heads/docs/ble-readback-research", 2026-10-24T00:59:18.5933338Z "show_beta": false, 2026-10-24T00:59:18.5933587Z "stargazers_count": 0, 2026-10-24T00:59:18.5933839Z "topics": [ 2026-10-24T00:59:18.5934055Z "bluetooth", 2026-10-24T00:59:18.5934295Z "bluetooth-le", 2026-10-24T00:59:18.5934553Z "esphome", 2026-10-24T00:59:18.5934772Z "govee", 2026-10-24T00:59:18.5934989Z "hacs", 2026-10-24T00:59:18.5935216Z "home-assistant", 2026-10-24T00:59:18.5935493Z "home-assistant-integration" 2026-10-24T00:59:18.5935775Z ] 2026-10-24T00:59:18.5936148Z }, 2026-10-24T00:59:18.5936339Z "manifest": { 2026-10-24T00:59:18.5936567Z "content_in_root": false, 2026-10-24T00:59:18.5936831Z "country": [], 2026-10-24T00:59:18.5937054Z "filename": null, 2026-10-24T00:59:18.5937293Z "hacs": null, 2026-10-24T00:59:18.5937542Z "hide_default_branch": false, 2026-10-24T00:59:18.5937827Z "homeassistant": "2025.6.0", 2026-10-24T00:59:18.5938246Z "manifest": { 2026-10-24T00:59:18.5938493Z "name": "Govee Bluetooth", 2026-10-24T00:59:18.5938772Z "render_readme": true, 2026-10-24T00:59:18.5939050Z "homeassistant": "2025.6.0" 2026-10-24T00:59:18.5939315Z }, 2026-10-24T00:59:18.5939526Z "name": "Govee Bluetooth", 2026-10-24T00:59:18.5939804Z "persistent_directory": null, 2026-10-24T00:59:18.5940093Z "render_readme": true, 2026-10-24T00:59:18.5940383Z "zip_release": false 2026-10-24T00:59:18.5940698Z }, 2026-10-24T00:59:18.5940899Z "release": { 2026-10-24T00:59:18.5941123Z "tag": "v0.2.0", 2026-10-24T00:59:18.5941361Z "assets": [] 2026-10-24T00:59:18.5941572Z }, 2026-10-24T00:59:18.5941768Z "category": "integration", 2026-10-24T00:59:18.5942063Z "ref": "refs/heads/docs/ble-readback-research" 2026-10-24T00:59:18.5942372Z } 2026-10-24T00:59:18.5942910Z ##[endgroup] 2026-10-24T00:59:19.5426774Z Post job cleanup. 2026-10-24T00:59:19.6122447Z [command]/usr/bin/git version 2026-10-24T00:59:19.6161729Z git version 2.55.0 2026-10-24T00:59:19.6196445Z Temporarily overriding HOME='/home/runner/work/_temp/0039d15c-c037-4b58-bc1b-eebf72c79a44' before making global git config changes 2026-10-24T00:59:19.6197406Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T00:59:19.6201995Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-24T00:59:19.6241534Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T00:59:19.6274422Z [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-24T00:59:19.6493263Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-24T00:59:19.6518999Z http.https://github.com/.extraheader 2026-10-24T00:59:19.6534412Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2026-10-24T00:59:19.6559849Z [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-24T00:59:19.6782245Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-24T00:59:19.6817100Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-24T00:59:19.7172639Z Cleaning up orphan processes 2026-10-24T00:59:19.7540834Z ##[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/