Description
Description:
On armv7, setup-node will download Node.js from official and extract to _work/_tool/node/18.16.1/armv7l
.
However, setup-node is searching for the cache in _work/_tool/node/18.16.1/arm
instead of _work/_tool/node/18.16.1/armv7l
. As a result, it can never hit the cache.
My current workaround:
Manually rename the directory from armv7l
to arm
, setup-node
will be able to use cached tool in the next run.
Log: https://github.com/louislam/uptime-kuma/actions/runs/5456311185/jobs/9928952991?pr=3354
The image shows that the directory name do not match.
Action version:
4.305.0
Platform:
- Ubuntu
- macOS
- Windows
- Raspbian Buster (Similar to Debian) (Raspberry Pi400) (Arch: armv7)
Runner type:
- Hosted
- Self-hosted
Tools version:
- Node.js 14, 18
- npm
Repro steps:
Option 1:
In case you don't have such hardware. You can fork this pr and create pr on my repo if you want to test: louislam/uptime-kuma#3354. The job armv7-simple-test (ARMv7, 16)
is always reproducible.
Option 2:
- Any workflow file, example: https://github.com/louislam/uptime-kuma/blob/98b16739d0aecd08cb7f150bb9aac7a11b39bd8d/.github/workflows/auto-test.yml
- Setup a action runner on Raspberry Pi (armv7)
- Run it several times, non-first runs should keep downloading Node.js.
Expected behavior:
Node.js could be reuse in the next run.
Actual behavior:
Node.js will be downloaded for every run, the cached tool is never used.