2026-10-19T07:49:32.0579655Z Current runner version: '2.337.0' 2026-10-19T07:49:32.0605251Z ##[group]Runner Image Provisioner 2026-10-19T07:49:32.0606181Z Hosted Compute Agent 2026-10-19T07:49:32.0606972Z Version: 20261012.601 2026-10-19T07:49:32.0607648Z Commit: f3dc54e1fb89da6852db922499a0233137369e1d 2026-10-19T07:49:32.0608413Z Build Date: 2026-10-12T17:48:21Z 2026-10-19T07:49:32.0609106Z Worker ID: {f7a86113-bbda-484a-88a5-7f578ab392d7} 2026-10-19T07:49:32.0609820Z Region: westus 2026-10-19T07:49:32.0610446Z Cloud: Azure 2026-10-19T07:49:32.0611049Z ##[endgroup] 2026-10-19T07:49:32.0612790Z ##[group]Operating System 2026-10-19T07:49:32.0613491Z Ubuntu 2026-10-19T07:49:32.0614012Z 24.04.5 2026-10-19T07:49:32.0614818Z LTS 2026-10-19T07:49:32.0615358Z ##[endgroup] 2026-10-19T07:49:32.0615943Z ##[group]Runner Image 2026-10-19T07:49:32.0616624Z Image: ubuntu-24.04 2026-10-19T07:49:32.0617191Z Version: 20261012.334.1 2026-10-19T07:49:32.0618506Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261012.334/images/ubuntu/Ubuntu2404-Readme.md 2026-10-19T07:49:32.0620048Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261012.334 2026-10-19T07:49:32.0621091Z ##[endgroup] 2026-10-19T07:49:32.0622365Z ##[group]GITHUB_TOKEN Permissions 2026-10-19T07:49:32.0624809Z Contents: read 2026-10-19T07:49:32.0625478Z Metadata: read 2026-10-19T07:49:32.0626125Z Packages: read 2026-10-19T07:49:32.0626681Z ##[endgroup] 2026-10-19T07:49:32.0629166Z Secret source: Actions 2026-10-19T07:49:32.0630108Z Cache mode: write 2026-10-19T07:49:32.0630892Z Prepare workflow directory 2026-10-19T07:49:32.0969536Z Prepare all required actions 2026-10-19T07:49:32.1019477Z Getting action download info 2026-10-19T07:49:32.4647681Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262) 2026-10-19T07:49:32.5798222Z Download action repository 'hacs/action@main' (SHA:1ebf01c408f29afcb6406bd431bc98fd8cbb15aa) 2026-10-19T07:49:32.9101159Z Complete job name: hacs 2026-10-19T07:49:32.9566618Z ##[group]Pull down action image 'ghcr.io/hacs/action:main' 2026-10-19T07:49:32.9671485Z ##[command]/usr/bin/docker pull ghcr.io/hacs/action:main 2026-10-19T07:49:33.6188992Z main: Pulling from hacs/action 2026-10-19T07:49:33.7781362Z e2de96513ba9: Already exists 2026-10-19T07:49:33.7810408Z 48f6a2588427: Pulling fs layer 2026-10-19T07:49:33.7811563Z 2a22c5887fa2: Pulling fs layer 2026-10-19T07:49:33.7812693Z d486488257d0: Pulling fs layer 2026-10-19T07:49:33.7813414Z 4f2f4aeb91e6: Pulling fs layer 2026-10-19T07:49:33.7814049Z 15f7511e3297: Pulling fs layer 2026-10-19T07:49:33.7815304Z dd9a8f7a1d13: Pulling fs layer 2026-10-19T07:49:33.7816059Z 4f2f4aeb91e6: Waiting 2026-10-19T07:49:33.7816559Z 15f7511e3297: Waiting 2026-10-19T07:49:33.7817002Z dd9a8f7a1d13: Waiting 2026-10-19T07:49:33.9228446Z d486488257d0: Verifying Checksum 2026-10-19T07:49:33.9229645Z d486488257d0: Download complete 2026-10-19T07:49:33.9369707Z 48f6a2588427: Verifying Checksum 2026-10-19T07:49:33.9371290Z 48f6a2588427: Download complete 2026-10-19T07:49:33.9836323Z 2a22c5887fa2: Verifying Checksum 2026-10-19T07:49:33.9837804Z 2a22c5887fa2: Download complete 2026-10-19T07:49:34.0621242Z 4f2f4aeb91e6: Verifying Checksum 2026-10-19T07:49:34.0622711Z 4f2f4aeb91e6: Download complete 2026-10-19T07:49:34.0835683Z 15f7511e3297: Verifying Checksum 2026-10-19T07:49:34.0837555Z 15f7511e3297: Download complete 2026-10-19T07:49:34.8372362Z dd9a8f7a1d13: Verifying Checksum 2026-10-19T07:49:34.8372925Z dd9a8f7a1d13: Download complete 2026-10-19T07:49:36.5157750Z 48f6a2588427: Pull complete 2026-10-19T07:49:37.2724600Z 2a22c5887fa2: Pull complete 2026-10-19T07:49:37.2835364Z d486488257d0: Pull complete 2026-10-19T07:49:37.2914168Z 4f2f4aeb91e6: Pull complete 2026-10-19T07:49:37.3349987Z 15f7511e3297: Pull complete 2026-10-19T07:50:06.3556849Z dd9a8f7a1d13: Pull complete 2026-10-19T07:50:06.3592646Z Digest: sha256:702294c324576814c5b093a24a9c737065a47a07576d4e834280318a4d2d8ef9 2026-10-19T07:50:06.3606634Z Status: Downloaded newer image for ghcr.io/hacs/action:main 2026-10-19T07:50:06.3619558Z ghcr.io/hacs/action:main 2026-10-19T07:50:06.3652336Z ##[endgroup] 2026-10-19T07:50:06.3975242Z ##[group]Run actions/checkout@v4 2026-10-19T07:50:06.3976101Z with: 2026-10-19T07:50:06.3976389Z repository: Mezzle/govee-bluetooth 2026-10-19T07:50:06.3979034Z token: *** 2026-10-19T07:50:06.3979292Z ssh-strict: true 2026-10-19T07:50:06.3979546Z ssh-user: git 2026-10-19T07:50:06.3979809Z persist-credentials: true 2026-10-19T07:50:06.3980099Z clean: true 2026-10-19T07:50:06.3980370Z sparse-checkout-cone-mode: true 2026-10-19T07:50:06.3980684Z fetch-depth: 1 2026-10-19T07:50:06.3980936Z fetch-tags: false 2026-10-19T07:50:06.3981193Z show-progress: true 2026-10-19T07:50:06.3981456Z lfs: false 2026-10-19T07:50:06.3981709Z submodules: false 2026-10-19T07:50:06.3982001Z set-safe-directory: true 2026-10-19T07:50:06.3982303Z allow-unsafe-pr-checkout: false 2026-10-19T07:50:06.3982838Z ##[endgroup] 2026-10-19T07:50:06.4980977Z Syncing repository: Mezzle/govee-bluetooth 2026-10-19T07:50:06.4983238Z ##[group]Getting Git version info 2026-10-19T07:50:06.4983841Z Working directory is '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-19T07:50:06.4984845Z [command]/usr/bin/git version 2026-10-19T07:50:06.5072988Z git version 2.55.0 2026-10-19T07:50:06.5106863Z ##[endgroup] 2026-10-19T07:50:06.5146010Z Temporarily overriding HOME='/home/runner/work/_temp/72b09a01-91b3-4009-b578-11e9b7b4dd31' before making global git config changes 2026-10-19T07:50:06.5147753Z Adding repository directory to the temporary git global config as a safe directory 2026-10-19T07:50:06.5149455Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-19T07:50:06.5195003Z Deleting the contents of '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-19T07:50:06.5201294Z ##[group]Initializing the repository 2026-10-19T07:50:06.5203751Z [command]/usr/bin/git init /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-19T07:50:06.5312906Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-19T07:50:06.5314160Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-19T07:50:06.5315216Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-19T07:50:06.5315688Z hint: call: 2026-10-19T07:50:06.5315931Z hint: 2026-10-19T07:50:06.5316256Z hint: git config --global init.defaultBranch 2026-10-19T07:50:06.5316627Z hint: 2026-10-19T07:50:06.5316972Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-19T07:50:06.5317554Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-19T07:50:06.5317991Z hint: 2026-10-19T07:50:06.5318282Z hint: git branch -m 2026-10-19T07:50:06.5318571Z hint: 2026-10-19T07:50:06.5325371Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-19T07:50:06.5336038Z Initialized empty Git repository in /home/runner/work/govee-bluetooth/govee-bluetooth/.git/ 2026-10-19T07:50:06.5338451Z [command]/usr/bin/git remote add origin https://github.com/Mezzle/govee-bluetooth 2026-10-19T07:50:06.5385144Z ##[endgroup] 2026-10-19T07:50:06.5385925Z ##[group]Disabling automatic garbage collection 2026-10-19T07:50:06.5390287Z [command]/usr/bin/git config --local gc.auto 0 2026-10-19T07:50:06.5422938Z ##[endgroup] 2026-10-19T07:50:06.5423834Z ##[group]Setting up auth 2026-10-19T07:50:06.5434795Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-19T07:50:06.5468071Z [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-19T07:50:06.5837254Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-19T07:50:06.5879178Z [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-19T07:50:06.6105449Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-19T07:50:06.6141638Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-19T07:50:06.6366522Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-19T07:50:06.6407263Z ##[endgroup] 2026-10-19T07:50:06.6408246Z ##[group]Fetching the repository 2026-10-19T07:50:06.6418305Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +c026808fe62aed67fe3eab48828eb54f366ae2b3:refs/remotes/origin/feat/rgbic-probe-diagnostics 2026-10-19T07:50:07.0563460Z From https://github.com/Mezzle/govee-bluetooth 2026-10-19T07:50:07.0564178Z * [new ref] c026808fe62aed67fe3eab48828eb54f366ae2b3 -> origin/feat/rgbic-probe-diagnostics 2026-10-19T07:50:07.0569227Z ##[endgroup] 2026-10-19T07:50:07.0570315Z ##[group]Determining the checkout info 2026-10-19T07:50:07.0572734Z ##[endgroup] 2026-10-19T07:50:07.0580460Z [command]/usr/bin/git sparse-checkout disable 2026-10-19T07:50:07.0633396Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-19T07:50:07.0667746Z ##[group]Checking out the ref 2026-10-19T07:50:07.0678009Z [command]/usr/bin/git checkout --progress --force -B feat/rgbic-probe-diagnostics refs/remotes/origin/feat/rgbic-probe-diagnostics 2026-10-19T07:50:07.0768428Z Switched to a new branch 'feat/rgbic-probe-diagnostics' 2026-10-19T07:50:07.0774437Z branch 'feat/rgbic-probe-diagnostics' set up to track 'origin/feat/rgbic-probe-diagnostics'. 2026-10-19T07:50:07.0779698Z ##[endgroup] 2026-10-19T07:50:07.0822647Z [command]/usr/bin/git log -1 --format=%H 2026-10-19T07:50:07.0852140Z c026808fe62aed67fe3eab48828eb54f366ae2b3 2026-10-19T07:50:07.1078005Z ##[group]Run hacs/action@main 2026-10-19T07:50:07.1078363Z with: 2026-10-19T07:50:07.1078579Z category: integration 2026-10-19T07:50:07.1078816Z comment: true 2026-10-19T07:50:07.1081299Z github_token: *** 2026-10-19T07:50:07.1081533Z ##[endgroup] 2026-10-19T07:50:07.1177974Z ##[command]/usr/bin/docker run --name ghcriohacsactionmain_935b6f --label d6523a --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-19T07:50:13.7861523Z ::INFO:: Category: integration 2026-10-19T07:50:13.7862215Z ::INFO:: Repository: Mezzle/govee-bluetooth@refs/heads/feat/rgbic-probe-diagnostics 2026-10-19T07:50:14.9847083Z ::INFO:: completed 2026-10-19T07:50:14.9847827Z ::INFO:: completed 2026-10-19T07:50:14.9852404Z ::INFO:: completed 2026-10-19T07:50:14.9860107Z ::INFO:: completed 2026-10-19T07:50:14.9861854Z ::INFO:: completed 2026-10-19T07:50:14.9863583Z ::INFO:: completed 2026-10-19T07:50:14.9864501Z ::INFO:: completed 2026-10-19T07:50:15.1263530Z ::INFO:: completed 2026-10-19T07:50:15.1345412Z ::INFO:: completed 2026-10-19T07:50:15.1346446Z ::INFO:: All (9) checks passed 2026-10-19T07:50:16.1361909Z ::INFO:: Validation completed 2026-10-19T07:50:16.1379778Z ##[group]data 2026-10-19T07:50:16.1380257Z { 2026-10-19T07:50:16.1380853Z "data": { 2026-10-19T07:50:16.1381304Z "archived": false, 2026-10-19T07:50:16.1381714Z "authors": [ 2026-10-19T07:50:16.1382094Z "@mezzle" 2026-10-19T07:50:16.1382608Z ], 2026-10-19T07:50:16.1383445Z "category": "integration", 2026-10-19T07:50:16.1383946Z "config_flow": true, 2026-10-19T07:50:16.1449613Z "default_branch": "main", 2026-10-19T07:50:16.1450676Z "description": "Home Assistant integration for Govee LED strips over Bluetooth LE, via local adapters or ESPHome Bluetooth proxies. No cloud.", 2026-10-19T07:50:16.1451955Z "domain": "govee_bluetooth", 2026-10-19T07:50:16.1452489Z "downloads": 0, 2026-10-19T07:50:16.1453249Z "etag_repository": "W/\"e17dcfc7090d1ff323a6b25be23a6ff59adb546a72ea1f02ecee6a646107f39a\"", 2026-10-19T07:50:16.1454788Z "etag_releases": null, 2026-10-19T07:50:16.1455290Z "file_name": "", 2026-10-19T07:50:16.1455752Z "first_install": false, 2026-10-19T07:50:16.1456302Z "full_name": "Mezzle/govee-bluetooth", 2026-10-19T07:50:16.1456855Z "hide": false, 2026-10-19T07:50:16.1457237Z "has_issues": true, 2026-10-19T07:50:16.1457626Z "id": "1424335838", 2026-10-19T07:50:16.1458043Z "installed_commit": null, 2026-10-19T07:50:16.1458509Z "installed_version": null, 2026-10-19T07:50:16.1458965Z "installed": false, 2026-10-19T07:50:16.1459386Z "last_commit": null, 2026-10-19T07:50:16.1459844Z "last_updated": "2026-10-19T07:49:25Z", 2026-10-19T07:50:16.1460352Z "last_version": "v0.1.0", 2026-10-19T07:50:16.1460827Z "manifest_name": "Govee Bluetooth", 2026-10-19T07:50:16.1461296Z "new": true, 2026-10-19T07:50:16.1461663Z "open_issues": 1, 2026-10-19T07:50:16.1462058Z "prerelease": null, 2026-10-19T07:50:16.1462488Z "published_tags": [ 2026-10-19T07:50:16.1462879Z "v0.1.0" 2026-10-19T07:50:16.1463232Z ], 2026-10-19T07:50:16.1463558Z "releases": true, 2026-10-19T07:50:16.1464112Z "selected_tag": "refs/heads/feat/rgbic-probe-diagnostics", 2026-10-19T07:50:16.1465018Z "show_beta": false, 2026-10-19T07:50:16.1465437Z "stargazers_count": 0, 2026-10-19T07:50:16.1465845Z "topics": [ 2026-10-19T07:50:16.1466197Z "bluetooth", 2026-10-19T07:50:16.1466643Z "bluetooth-le", 2026-10-19T07:50:16.1467075Z "esphome", 2026-10-19T07:50:16.1467452Z "govee", 2026-10-19T07:50:16.1467818Z "hacs", 2026-10-19T07:50:16.1468206Z "home-assistant", 2026-10-19T07:50:16.1468680Z "home-assistant-integration" 2026-10-19T07:50:16.1469162Z ] 2026-10-19T07:50:16.1469475Z }, 2026-10-19T07:50:16.1469788Z "manifest": { 2026-10-19T07:50:16.1470171Z "content_in_root": false, 2026-10-19T07:50:16.1470624Z "country": [], 2026-10-19T07:50:16.1471377Z "filename": null, 2026-10-19T07:50:16.1471778Z "hacs": null, 2026-10-19T07:50:16.1472199Z "hide_default_branch": false, 2026-10-19T07:50:16.1472737Z "homeassistant": "2025.6.0", 2026-10-19T07:50:16.1473185Z "manifest": { 2026-10-19T07:50:16.1473582Z "name": "Govee Bluetooth", 2026-10-19T07:50:16.1474040Z "render_readme": true, 2026-10-19T07:50:16.1474309Z "homeassistant": "2025.6.0" 2026-10-19T07:50:16.1474875Z }, 2026-10-19T07:50:16.1475074Z "name": "Govee Bluetooth", 2026-10-19T07:50:16.1475335Z "persistent_directory": null, 2026-10-19T07:50:16.1475601Z "render_readme": true, 2026-10-19T07:50:16.1475840Z "zip_release": false 2026-10-19T07:50:16.1476092Z }, 2026-10-19T07:50:16.1476313Z "release": { 2026-10-19T07:50:16.1476519Z "tag": "v0.1.0", 2026-10-19T07:50:16.1476789Z "assets": [] 2026-10-19T07:50:16.1476995Z }, 2026-10-19T07:50:16.1477184Z "category": "integration", 2026-10-19T07:50:16.1477488Z "ref": "refs/heads/feat/rgbic-probe-diagnostics" 2026-10-19T07:50:16.1477785Z } 2026-10-19T07:50:16.1478228Z ##[endgroup] 2026-10-19T07:50:16.6363302Z Post job cleanup. 2026-10-19T07:50:16.7213695Z [command]/usr/bin/git version 2026-10-19T07:50:16.7257270Z git version 2.55.0 2026-10-19T07:50:16.7301707Z Temporarily overriding HOME='/home/runner/work/_temp/51a2958c-2bc1-41f8-83ea-baf5e9363c19' before making global git config changes 2026-10-19T07:50:16.7303057Z Adding repository directory to the temporary git global config as a safe directory 2026-10-19T07:50:16.7308652Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-19T07:50:16.7347109Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-19T07:50:16.7382184Z [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-19T07:50:16.7633109Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-19T07:50:16.7673738Z http.https://github.com/.extraheader 2026-10-19T07:50:16.7686585Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2026-10-19T07:50:16.7723584Z [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-19T07:50:16.7998343Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-19T07:50:16.8037556Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-19T07:50:16.8420282Z Cleaning up orphan processes 2026-10-19T07:50:16.8876160Z ##[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/