Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
nixci
nixci builds all outputs in a flake, or optionally its sub-flakes, which can in turn be used either in CI or locally. Using devour-flake it will automatically build the following outputs:
| Type | Output Key |
|---|---|
| Standard flake outputs | packages, apps, checks, devShells |
| NixOS | nixosConfigurations.* |
| nix-darwin | darwinConfigurations.* |
| home-manager | legacyPackages.${system}.homeConfigurations.* |
The stdout of nixci will be a list of store paths built.
Install
From nixpkgs
From source
Note
To make use of the binary cache, first run:
nix run nixpkgs#cachix use srid
To install, run nix profile install github:srid/nixci. You can also use use nix run github:srid/nixci to run nixci directly off this repo without installing it.
Usage
nixci accepts any valid flake URL or a Github PR URL.
# Run nixci on a local flake (default is $PWD)
# Run nixci on a github repo
# Run nixci on a github PR
Using in Github Actions
Add the following to your workflow file,
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- uses: yaxitech/nix-install-pkgs-action@v3
with:
packages: "nixpkgs#nixci"
- run: nixci
Configuring
By default, nixci will build the top-level flake, but you can tell it to build sub-flakes by adding the following output to your top-level flake:
# myproject/flake.nix
{
nixci.default = {
dir1 = {
dir = "dir1";
};
dir2 = {
dir = "dir2";
overrideInputs.myproject = ./.;
};
}
}
You can have more than one nixci configuration. For eg., nixci .#foo will run the configuration from nixci.foo flake output.
Examples
Some real-world examples of how nixci is used with specific configurations:
What it does
- Optionally, accept a flake config (
nixci.default) to indicate sub-flakes to build, along with their input overrides - Check that
flake.lockis in sync - Use devour-flake to build all flake outputs
- Support for flake-schemas is planned
- Print the built outputs to stdout
See also
- jenkins-nix-ci - Jenkins NixOS module that supports
nixcias a Groovy function