2026-10-20T00:50:07.5891052Z Current runner version: '2.337.0' 2026-10-20T00:50:07.5917022Z ##[group]Runner Image Provisioner 2026-10-20T00:50:07.5918054Z Hosted Compute Agent 2026-10-20T00:50:07.5918681Z Version: 20261015.610 2026-10-20T00:50:07.5919425Z Commit: 267fdb4e8bbec4ab5ea31367f3a00d5c480c7656 2026-10-20T00:50:07.5920261Z Build Date: 2026-10-14T17:06:54Z 2026-10-20T00:50:07.5920979Z Worker ID: {fb7308c5-447a-4767-8045-0a5a9ea900dd} 2026-10-20T00:50:07.5921757Z Region: eastus2 2026-10-20T00:50:07.5922323Z Cloud: Azure 2026-10-20T00:50:07.5922860Z ##[endgroup] 2026-10-20T00:50:07.5924418Z ##[group]Operating System 2026-10-20T00:50:07.5925142Z Ubuntu 2026-10-20T00:50:07.5925743Z 24.04.5 2026-10-20T00:50:07.5926297Z LTS 2026-10-20T00:50:07.5927213Z ##[endgroup] 2026-10-20T00:50:07.5927956Z ##[group]Runner Image 2026-10-20T00:50:07.5928602Z Image: ubuntu-24.04 2026-10-20T00:50:07.5929229Z Version: 20261018.339.1 2026-10-20T00:50:07.5930532Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261018.339/images/ubuntu/Ubuntu2404-Readme.md 2026-10-20T00:50:07.5932307Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261018.339 2026-10-20T00:50:07.5933334Z ##[endgroup] 2026-10-20T00:50:07.5934583Z ##[group]GITHUB_TOKEN Permissions 2026-10-20T00:50:07.5936518Z Contents: read 2026-10-20T00:50:07.5937599Z Metadata: read 2026-10-20T00:50:07.5938278Z Packages: read 2026-10-20T00:50:07.5938872Z ##[endgroup] 2026-10-20T00:50:07.5940994Z Secret source: Actions 2026-10-20T00:50:07.5942868Z Cache mode: write 2026-10-20T00:50:07.5944197Z Prepare workflow directory 2026-10-20T00:50:07.6288039Z Prepare all required actions 2026-10-20T00:50:07.6336873Z Getting action download info 2026-10-20T00:50:07.8592892Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262) 2026-10-20T00:50:07.9780567Z Download action repository 'hacs/action@main' (SHA:1ebf01c408f29afcb6406bd431bc98fd8cbb15aa) 2026-10-20T00:50:08.1812029Z Complete job name: hacs 2026-10-20T00:50:08.2382804Z ##[group]Pull down action image 'ghcr.io/hacs/action:main' 2026-10-20T00:50:08.2553693Z ##[command]/usr/bin/docker pull ghcr.io/hacs/action:main 2026-10-20T00:50:08.5990111Z main: Pulling from hacs/action 2026-10-20T00:50:08.6580591Z e2de96513ba9: Already exists 2026-10-20T00:50:08.6610562Z 48f6a2588427: Pulling fs layer 2026-10-20T00:50:08.6611583Z 2a22c5887fa2: Pulling fs layer 2026-10-20T00:50:08.6612623Z d486488257d0: Pulling fs layer 2026-10-20T00:50:08.6613583Z f40a1afc7f6d: Pulling fs layer 2026-10-20T00:50:08.6614492Z ccbe08bb1e90: Pulling fs layer 2026-10-20T00:50:08.6615499Z 33755999fcf0: Pulling fs layer 2026-10-20T00:50:08.6616446Z f40a1afc7f6d: Waiting 2026-10-20T00:50:08.6617719Z ccbe08bb1e90: Waiting 2026-10-20T00:50:08.6618617Z 33755999fcf0: Waiting 2026-10-20T00:50:08.7448251Z d486488257d0: Verifying Checksum 2026-10-20T00:50:08.7449947Z d486488257d0: Download complete 2026-10-20T00:50:08.7895023Z 48f6a2588427: Verifying Checksum 2026-10-20T00:50:08.8436889Z f40a1afc7f6d: Verifying Checksum 2026-10-20T00:50:08.8438550Z f40a1afc7f6d: Download complete 2026-10-20T00:50:08.8812496Z ccbe08bb1e90: Download complete 2026-10-20T00:50:08.9121657Z 2a22c5887fa2: Verifying Checksum 2026-10-20T00:50:08.9122882Z 2a22c5887fa2: Download complete 2026-10-20T00:50:09.0689705Z 48f6a2588427: Pull complete 2026-10-20T00:50:09.8040788Z 2a22c5887fa2: Pull complete 2026-10-20T00:50:09.8163814Z d486488257d0: Pull complete 2026-10-20T00:50:09.8318719Z f40a1afc7f6d: Pull complete 2026-10-20T00:50:09.8687038Z ccbe08bb1e90: Pull complete 2026-10-20T00:50:11.1413521Z 33755999fcf0: Verifying Checksum 2026-10-20T00:50:11.1414254Z 33755999fcf0: Download complete 2026-10-20T00:50:41.5197671Z 33755999fcf0: Pull complete 2026-10-20T00:50:41.5236165Z Digest: sha256:c26fd07e546d17cb30573f36c1cb7decbe3bd13a801d3480164a40bd1d3dfd08 2026-10-20T00:50:41.5273327Z Status: Downloaded newer image for ghcr.io/hacs/action:main 2026-10-20T00:50:41.5282293Z ghcr.io/hacs/action:main 2026-10-20T00:50:41.5321185Z ##[endgroup] 2026-10-20T00:50:41.5642415Z ##[group]Run actions/checkout@v4 2026-10-20T00:50:41.5643015Z with: 2026-10-20T00:50:41.5643262Z repository: Mezzle/govee-bluetooth 2026-10-20T00:50:41.5645979Z token: *** 2026-10-20T00:50:41.5646224Z ssh-strict: true 2026-10-20T00:50:41.5646444Z ssh-user: git 2026-10-20T00:50:41.5647074Z persist-credentials: true 2026-10-20T00:50:41.5647390Z clean: true 2026-10-20T00:50:41.5647625Z sparse-checkout-cone-mode: true 2026-10-20T00:50:41.5647887Z fetch-depth: 1 2026-10-20T00:50:41.5648093Z fetch-tags: false 2026-10-20T00:50:41.5648303Z show-progress: true 2026-10-20T00:50:41.5648513Z lfs: false 2026-10-20T00:50:41.5648708Z submodules: false 2026-10-20T00:50:41.5648921Z set-safe-directory: true 2026-10-20T00:50:41.5649174Z allow-unsafe-pr-checkout: false 2026-10-20T00:50:41.5649749Z ##[endgroup] 2026-10-20T00:50:41.6707031Z Syncing repository: Mezzle/govee-bluetooth 2026-10-20T00:50:41.6708917Z ##[group]Getting Git version info 2026-10-20T00:50:41.6709604Z Working directory is '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-20T00:50:41.6710294Z [command]/usr/bin/git version 2026-10-20T00:50:41.6787589Z git version 2.55.0 2026-10-20T00:50:41.6791217Z ##[endgroup] 2026-10-20T00:50:41.6805473Z Temporarily overriding HOME='/home/runner/work/_temp/3a24a6be-9e25-4d4d-8783-299c30358c65' before making global git config changes 2026-10-20T00:50:41.6807128Z Adding repository directory to the temporary git global config as a safe directory 2026-10-20T00:50:41.6812701Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-20T00:50:41.6869381Z Deleting the contents of '/home/runner/work/govee-bluetooth/govee-bluetooth' 2026-10-20T00:50:41.6883299Z ##[group]Initializing the repository 2026-10-20T00:50:41.6884272Z [command]/usr/bin/git init /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-20T00:50:41.6986968Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-20T00:50:41.6988107Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-20T00:50:41.6988676Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-20T00:50:41.6989069Z hint: call: 2026-10-20T00:50:41.6989268Z hint: 2026-10-20T00:50:41.6989551Z hint: git config --global init.defaultBranch 2026-10-20T00:50:41.6989870Z hint: 2026-10-20T00:50:41.6990167Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-20T00:50:41.6991158Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-20T00:50:41.6991571Z hint: 2026-10-20T00:50:41.6991788Z hint: git branch -m 2026-10-20T00:50:41.6992301Z hint: 2026-10-20T00:50:41.6992983Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-20T00:50:41.6997787Z Initialized empty Git repository in /home/runner/work/govee-bluetooth/govee-bluetooth/.git/ 2026-10-20T00:50:41.7008330Z [command]/usr/bin/git remote add origin https://github.com/Mezzle/govee-bluetooth 2026-10-20T00:50:41.7063098Z ##[endgroup] 2026-10-20T00:50:41.7063795Z ##[group]Disabling automatic garbage collection 2026-10-20T00:50:41.7068648Z [command]/usr/bin/git config --local gc.auto 0 2026-10-20T00:50:41.7114542Z ##[endgroup] 2026-10-20T00:50:41.7115155Z ##[group]Setting up auth 2026-10-20T00:50:41.7123303Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-20T00:50:41.7170580Z [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-20T00:50:41.7580910Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-20T00:50:41.7633597Z [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-20T00:50:41.7891431Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-20T00:50:41.7937140Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-20T00:50:41.8181952Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-20T00:50:41.8230134Z ##[endgroup] 2026-10-20T00:50:41.8230623Z ##[group]Fetching the repository 2026-10-20T00:50:41.8240539Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +8bbd66fb4521c9589bc1a763db957db8d9ceb1ad:refs/remotes/origin/feat/census-evidence 2026-10-20T00:50:42.0543610Z From https://github.com/Mezzle/govee-bluetooth 2026-10-20T00:50:42.0545175Z * [new ref] 8bbd66fb4521c9589bc1a763db957db8d9ceb1ad -> origin/feat/census-evidence 2026-10-20T00:50:42.0550303Z ##[endgroup] 2026-10-20T00:50:42.0551123Z ##[group]Determining the checkout info 2026-10-20T00:50:42.0553898Z ##[endgroup] 2026-10-20T00:50:42.0562127Z [command]/usr/bin/git sparse-checkout disable 2026-10-20T00:50:42.0642023Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-20T00:50:42.0693582Z ##[group]Checking out the ref 2026-10-20T00:50:42.0698609Z [command]/usr/bin/git checkout --progress --force -B feat/census-evidence refs/remotes/origin/feat/census-evidence 2026-10-20T00:50:42.0837095Z Switched to a new branch 'feat/census-evidence' 2026-10-20T00:50:42.0841281Z branch 'feat/census-evidence' set up to track 'origin/feat/census-evidence'. 2026-10-20T00:50:42.0847854Z ##[endgroup] 2026-10-20T00:50:42.0903293Z [command]/usr/bin/git log -1 --format=%H 2026-10-20T00:50:42.0938624Z 8bbd66fb4521c9589bc1a763db957db8d9ceb1ad 2026-10-20T00:50:42.1174428Z ##[group]Run hacs/action@main 2026-10-20T00:50:42.1174722Z with: 2026-10-20T00:50:42.1174935Z category: integration 2026-10-20T00:50:42.1175166Z comment: true 2026-10-20T00:50:42.1258485Z github_token: *** 2026-10-20T00:50:42.1258794Z ##[endgroup] 2026-10-20T00:50:42.1355870Z ##[command]/usr/bin/docker run --name ghcriohacsactionmain_08868f --label 84d972 --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-20T00:50:48.7113834Z ::INFO:: Category: integration 2026-10-20T00:50:48.7115184Z ::INFO:: Repository: Mezzle/govee-bluetooth@refs/heads/feat/census-evidence 2026-10-20T00:50:49.6717269Z ##[warning] The integration manifest has no categories, see https://contributors.home-assistant.io/core/integrations/categories/ 2026-10-20T00:50:49.6725157Z ::INFO:: completed 2026-10-20T00:50:49.6725600Z ::INFO:: completed 2026-10-20T00:50:49.6725913Z ::INFO:: completed 2026-10-20T00:50:49.6726220Z ::INFO:: completed 2026-10-20T00:50:49.6727371Z ::INFO:: completed 2026-10-20T00:50:49.6727818Z ::INFO:: completed 2026-10-20T00:50:49.6728149Z ::INFO:: completed 2026-10-20T00:50:49.6728463Z ::INFO:: completed 2026-10-20T00:50:49.6728812Z ::INFO:: completed 2026-10-20T00:50:49.7670685Z ::INFO:: completed 2026-10-20T00:50:49.7671226Z ::INFO:: All (10) checks passed 2026-10-20T00:50:50.7687754Z ::INFO:: Validation completed 2026-10-20T00:50:50.7717939Z ##[group]data 2026-10-20T00:50:50.7718357Z { 2026-10-20T00:50:50.7718615Z "data": { 2026-10-20T00:50:50.7718915Z "archived": false, 2026-10-20T00:50:50.7719250Z "authors": [ 2026-10-20T00:50:50.7719546Z "@mezzle" 2026-10-20T00:50:50.7719872Z ], 2026-10-20T00:50:50.7720172Z "category": "integration", 2026-10-20T00:50:50.7720544Z "config_flow": true, 2026-10-20T00:50:50.7720885Z "default_branch": "main", 2026-10-20T00:50:50.7721795Z "description": "Home Assistant integration for Govee LED strips over Bluetooth LE, via local adapters or ESPHome Bluetooth proxies. No cloud.", 2026-10-20T00:50:50.7723337Z "domain": "govee_bluetooth", 2026-10-20T00:50:50.7723766Z "downloads": 0, 2026-10-20T00:50:50.7724399Z "etag_repository": "W/\"11b5a3ffeeb1e24bd822152090361bda910048e3fbea29fecd82addae208f36a\"", 2026-10-20T00:50:50.7725115Z "etag_releases": null, 2026-10-20T00:50:50.7725489Z "file_name": "", 2026-10-20T00:50:50.7725823Z "first_install": false, 2026-10-20T00:50:50.7726204Z "full_name": "Mezzle/govee-bluetooth", 2026-10-20T00:50:50.7726900Z "hide": false, 2026-10-20T00:50:50.7727231Z "has_issues": true, 2026-10-20T00:50:50.7727594Z "id": "1424335838", 2026-10-20T00:50:50.7727920Z "installed_commit": null, 2026-10-20T00:50:50.7728290Z "installed_version": null, 2026-10-20T00:50:50.7728653Z "installed": false, 2026-10-20T00:50:50.7728983Z "last_commit": null, 2026-10-20T00:50:50.7729349Z "last_updated": "2026-10-20T00:50:01Z", 2026-10-20T00:50:50.7729757Z "last_version": "v0.1.0", 2026-10-20T00:50:50.7730152Z "manifest_name": "Govee Bluetooth", 2026-10-20T00:50:50.7730540Z "new": true, 2026-10-20T00:50:50.7730845Z "open_issues": 1, 2026-10-20T00:50:50.7731165Z "prerelease": null, 2026-10-20T00:50:50.7731504Z "published_tags": [ 2026-10-20T00:50:50.7731823Z "v0.1.0" 2026-10-20T00:50:50.7732107Z ], 2026-10-20T00:50:50.7732382Z "releases": true, 2026-10-20T00:50:50.7732790Z "selected_tag": "refs/heads/feat/census-evidence", 2026-10-20T00:50:50.7733258Z "show_beta": false, 2026-10-20T00:50:50.7733602Z "stargazers_count": 0, 2026-10-20T00:50:50.7733945Z "topics": [ 2026-10-20T00:50:50.7734249Z "bluetooth", 2026-10-20T00:50:50.7734580Z "bluetooth-le", 2026-10-20T00:50:50.7734902Z "esphome", 2026-10-20T00:50:50.7735193Z "govee", 2026-10-20T00:50:50.7735476Z "hacs", 2026-10-20T00:50:50.7735774Z "home-assistant", 2026-10-20T00:50:50.7736162Z "home-assistant-integration" 2026-10-20T00:50:50.7736551Z ] 2026-10-20T00:50:50.7737013Z }, 2026-10-20T00:50:50.7737279Z "manifest": { 2026-10-20T00:50:50.7737583Z "content_in_root": false, 2026-10-20T00:50:50.7738184Z "country": [], 2026-10-20T00:50:50.7738493Z "filename": null, 2026-10-20T00:50:50.7738820Z "hacs": null, 2026-10-20T00:50:50.7739141Z "hide_default_branch": false, 2026-10-20T00:50:50.7739524Z "homeassistant": "2025.6.0", 2026-10-20T00:50:50.7739891Z "manifest": { 2026-10-20T00:50:50.7740209Z "name": "Govee Bluetooth", 2026-10-20T00:50:50.7740593Z "render_readme": true, 2026-10-20T00:50:50.7740973Z "homeassistant": "2025.6.0" 2026-10-20T00:50:50.7741334Z }, 2026-10-20T00:50:50.7741610Z "name": "Govee Bluetooth", 2026-10-20T00:50:50.7741988Z "persistent_directory": null, 2026-10-20T00:50:50.7742360Z "render_readme": true, 2026-10-20T00:50:50.7742736Z "zip_release": false 2026-10-20T00:50:50.7743084Z }, 2026-10-20T00:50:50.7743393Z "release": { 2026-10-20T00:50:50.7743679Z "tag": "v0.1.0", 2026-10-20T00:50:50.7743981Z "assets": [] 2026-10-20T00:50:50.7744281Z }, 2026-10-20T00:50:50.7744552Z "category": "integration", 2026-10-20T00:50:50.7744958Z "ref": "refs/heads/feat/census-evidence" 2026-10-20T00:50:50.7745359Z } 2026-10-20T00:50:50.7745952Z ##[endgroup] 2026-10-20T00:50:51.3103506Z Post job cleanup. 2026-10-20T00:50:51.3969852Z [command]/usr/bin/git version 2026-10-20T00:50:51.4020599Z git version 2.55.0 2026-10-20T00:50:51.4064444Z Temporarily overriding HOME='/home/runner/work/_temp/8c35a443-dad6-4e37-96c7-7e51c29da201' before making global git config changes 2026-10-20T00:50:51.4065756Z Adding repository directory to the temporary git global config as a safe directory 2026-10-20T00:50:51.4071225Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/govee-bluetooth/govee-bluetooth 2026-10-20T00:50:51.4115465Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-20T00:50:51.4154305Z [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-20T00:50:51.4422298Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-20T00:50:51.4454871Z http.https://github.com/.extraheader 2026-10-20T00:50:51.4467462Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2026-10-20T00:50:51.4505970Z [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-20T00:50:51.4804016Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-20T00:50:51.4849212Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-20T00:50:51.5263603Z Cleaning up orphan processes 2026-10-20T00:50:51.5635778Z ##[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/