Incorrect architecture definition for cache key
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- node.js, typescript
Línea de trabajo
Comienza en src/cache-restore.ts, en la línea 25, y sigue cómo se selecciona la arquitectura de caché para setup-node. Reprodúcelo con los dos workflows de macos-latest del issue y, a continuación, verifica que las compilaciones x64 y arm64 utilicen cachés separados según la arquitectura solicitada, en lugar de la arquitectura del host.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description:
The architecture used to pull the cache is based on the runner's host architecture and not the architecture key supplied to the action. This problem manifests when running two pipelines that use the same host runner but build for different architectures. In this case the action which is building for an architecture that is different from the host will try to pull the cache for it's host architecture which causes the build to fail. The current solution is to only use caching for the pipeline where the host architecture matches the build architecture which is not ideal.
Action version:
Latest
Platform:
- Ubuntu
- macOS
- Windows
Runner type:
- Hosted
- Self-hosted
Tools version:
all
Repro steps:
Make two actions pipelines with macos-latest and run with a package.json that include native modules:
for x86_64
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.17.0'
cache: 'yarn'
architecture: 'x64'
- name: Install dependencies with Yarn
run: npm_config_arch=x64 yarn install --frozen-lockfile --verbose
for arm64
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.17.0'
cache: 'yarn'
- name: Install dependencies with Yarn
run: yarn install --frozen-lockfile --verbose
Expected behavior:
These pipelines should have separate caches because they are specifying different architectures even though the host architecture is the same.
Actual behavior:
They pull the same cache key because the key is derived from the runner os architecture instead of the specified architecture in the action.
https://github.com/actions/setup-node/blob/89d709d423dc495668cd762a18dd4a070611be3f/src/cache-restore.ts#L25
- Lenguaje dominante
- TypeScript
- Estrellas
- 5k
- Forks
- 1.7k
- Merge medio
- 2 d 11 h
- PR fusionados (30 d)
- 3
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de actions/setup-node
-
feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
actions/setup-node#1531 · 1 comentario · 4 reacciones ·
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
actions/setup-node#1634 · 1 comentario ·
-
actions/setup-node#1628 · 3 comentarios · 1 asignado ·
-
`npm config get cache` fails with `EBADDEVENGINES` when requiring newer npm versions in `devEngines` Abiertofeature request
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
actions/setup-node#1553 · 12 comentarios · 2 reacciones ·
-
feature request
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
actions/setup-node#1428 · 1 comentario · 3 reacciones ·
Todos los issues de actions/setup-node
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100