Skip to content

CI/CD Component

The CI/CD Component has some inputs which configure defaults for Nix GitLab CI.

version

  • Type: string

Which version of the Nix CI image to use. Using a tag/version is recommended. Will not do anything if a custom image is specified using NIX_CI_IMAGE.

cache_strategy

  • Type: string
  • Default: "auto"
  • Options: auto | none | runner | cachix | attic

Sets the default caching strategy.

  • auto: dynamically selects the best strategy for every job based on env variables
  • none: disables caching
  • runner, cachix & attic: forces every job to use this strategy

Can be overridden by NIX_CI_CACHE_STRATEGY, see Environment Variables.

cache_files

  • Type: array (of strings)
  • Default: ["flake.nix", "flake.lock"]

Files to use as the cache key for the generated pipeline yaml. If you use a file like ci.nix to define CI, add that here for example. This makes sure that changes to your Nix CI configuration will invalidate the cache, otherwise an old pipeline yaml might be used.

Warning

The value of this is used in cache:key:files, which currently only supports a max of 2 entries. So use something like ["flake.*", "ci.nix"] to match flake.lock, flake.nix and ci.nix. See gitlab-org/gitlab#301161