es

pcpm ci

Instalación estricta y fail-fast para CI.

pcpm ci [options]

pcpm ci es la variante estricta de pcpm install, diseñada para integración continua. Es idéntica a pcpm install en lo que hace, pero más estricta en lo que acepta.

Qué hace

  1. Lee pcpm.lock directamente, sin re-resolver el grafo.
  2. Verifica que cada paquete del lockfile está presente en el store (o es descargable).
  3. Materializa el lockfile en el store y en ~/.nuget/packages.
  4. Ejecuta dotnet restore.
  5. No escribe en pcpm.lock. Si el lockfile está desactualizado (es decir, Directory.Packages.props y pcpm.lock no coinciden), pcpm ci sale con un estado no-cero.

Por qué existe

El bug que atrapa es silencioso en las máquinas de los desarrolladores pero ruidoso en CI: alguien sube una versión en Directory.Packages.props y olvida commitear el pcpm.lock actualizado. En la máquina del desarrollador, pcpm install re-resolvería y la nueva versión se colaría. En CI, pcpm ci fallaría y el build quedaría rojo.

Opciones

Igual que pcpm install, más:

FlagEfecto
--strict-hashRe-hashea cada paquete del store. Más lento, pero atrapa corrupción.

Ejemplo

# GitHub Actions
- name: Restore
  run: pcpm ci

- name: Build
  run: dotnet build --no-restore -c Release

Códigos de salida

Además de los códigos documentados para pcpm install, pcpm ci sale con:

  • 4 si pcpm.lock está desactualizado (es decir, CPM y el lockfile no coinciden).
  • 4 si falta pcpm.lock por completo.
  • 4 si se pasa --strict-hash y los bytes de una entrada del store no coinciden con su hash registrado.

Véase también