Cache prefix key for multiple cache-dependency-path
Los mantenedores suelen responder en 8 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- nodejs, typescript
- Área
- ci-cd
Línea de trabajo
Revisa cómo setup-node construye las claves de caché a partir de cache-dependency-path y, después, lee el issue relacionado #1120 para obtener contexto. Se considera terminado cuando los workflows pueden proporcionar un prefijo controlable entre el gestor de paquetes y el hash del lockfile, de modo que las cachés de monorepos con enfoques separados no se restauren entre sí.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description:
Currently the cache key is always the following format node-cache-{platform}-{packageManager}-{fileHash(lockfile)}
I'd like a way to add a prefix between the packageManager and the file hash like node-cache-{platform}-{packageManager}-{cachePrefix}-{fileHash(lockfile)}
Justification:
We work in a monorepo with yarn workspaces. In order to scope our yarn installs and cache, we use yarn workspaces focus with cache-dependency-path pointing to yarn.workspace.lock from https://github.com/MaintainX/yarn-plugin-workspace-lockfile
This means we have multiple workflows all saving and restoring caches for different file hashes.
Because we use yarn3, setup-node uses fallback restore keys.
Which means it frequently happens that 1 workflow will fallback on the cache from a totally different set of lockfiles, run yarn effectively download what's missing and grow the cache and save that cache back.
Somewhat related https://github.com/actions/setup-node/issues/1120
What happens is that our caches are constantly growing, over time including the whole monorepo's dependencies and more.
We tried to mitigate this by manually creating caches on push to master using actions/cache/save instead of setup-node so we wouldn't restore the cache making it a "fresh" cache.
Having a cache prefix that we control, we could give a semantic name for scopes of the monorepo allowing to avoid workflows to cross restore caches for a different yarn workspaces focus command
Are you willing to submit a PR?
Yes I'm willing to open a PR if this suggestion is accepted
- Lenguaje dominante
- TypeScript
- Estrellas
- 5k
- Forks
- 1.7k
- Merge medio
- 2 d 11 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
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 ·
Los mantenedores suelen responder en 8 días
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
actions/setup-node#1634 · 1 comentario ·
Los mantenedores suelen responder en 8 días
-
Volta extends resolution in getNodeVersionFromFile has no cycle detection, recursing until stack overflowPosiblemente ocupada @v-gowridurgad la tomó hace 16 días. Abierto
actions/setup-node#1628 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 8 días
-
`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 ·
Los mantenedores suelen responder en 8 días
-
feature request
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
actions/setup-node#1428 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 8 días
Todos los issues de actions/setup-node
Issues similares
-
Add: Digi World (Romania) SDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Fission-AI/OpenSpec#1986 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nestjs/docs.nestjs.com#3554 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
publicodes/publicodes#868 ·
-
namespace operations
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
EclipseFdn/open-vsx.org#13488 ·
Los mantenedores suelen responder en 2 días