naersk fork for checks

This commit is contained in:
Robin Appelman 2023-06-03 17:20:56 +02:00
commit bdbfa98247
3 changed files with 18 additions and 40 deletions

View file

@ -4,7 +4,7 @@ name: CI
jobs:
check:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
@ -16,7 +16,7 @@ jobs:
- run: nix build .#check
clippy:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v3

11
flake.lock generated
View file

@ -7,16 +7,17 @@
]
},
"locked": {
"lastModified": 1679567394,
"narHash": "sha256-ZvLuzPeARDLiQUt6zSZFGOs+HZmE+3g4QURc8mkBsfM=",
"owner": "nix-community",
"lastModified": 1685804727,
"narHash": "sha256-9kd2ac4MmTRLDX2MnXGIzJM9eDvWocQrXhWWkWj/0zI=",
"owner": "icewind1991",
"repo": "naersk",
"rev": "88cd22380154a2c36799fe8098888f0f59861a15",
"rev": "21b870efb320d44ec1c2f661f6e6e8deca9bb239",
"type": "github"
},
"original": {
"owner": "nix-community",
"owner": "icewind1991",
"repo": "naersk",
"rev": "21b870efb320d44ec1c2f661f6e6e8deca9bb239",
"type": "github"
}
},

View file

@ -1,7 +1,7 @@
{
inputs = {
utils.url = "github:numtide/flake-utils";
naersk.url = "github:nix-community/naersk";
naersk.url = "github:icewind1991/naersk?rev=21b870efb320d44ec1c2f661f6e6e8deca9bb239";
naersk.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "nixpkgs/release-23.05";
rust-overlay.url = "github:oxalica/rust-overlay";
@ -30,41 +30,18 @@
cargo = toolchain;
rustc = toolchain;
};
rustSources = [
./Cargo.toml
./Cargo.lock
./src
];
hostNaersk = naerskForTarget hostTarget;
src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "src" "src/.*"];
in rec {
packages = (lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage {
nearskOpt = {
pname = "dispenser";
root = src;
})) // rec {
dispenser = (naerskForTarget hostTarget).buildPackage {
pname = "dispenser";
root = src;
};
check = (naerskForTarget hostTarget).buildPackage {
pname = "dispenser";
cargoBuild = _: ''cargo $cargo_options check $cargo_build_options >> $cargo_build_output_json'';
root = src;
};
clippy = (naerskForTarget hostTarget).buildPackage {
pname = "dispenser";
cargoBuild = _: ''cargo $cargo_options clippy -j "$NIX_BUILD_CORES" --message-format=$cargo_message_format -- -A all >> $cargo_build_output_json'';
overrideMain = cfg: cfg // {
buildPhase = ''
runHook preBuild
export SOURCE_DATE_EPOCH=1
logRun cargo $cargo_options clippy -j "$NIX_BUILD_CORES" -- -D warnings
runHook postBuild
'';
};
root = src;
};
};
in rec {
packages = (lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage nearskOpt)) // rec {
dispenser = hostNaersk.buildPackage nearskOpt;
check = hostNaersk.buildPackage (nearskOpt // { checkOnly = true; });
test = hostNaersk.buildPackage (nearskOpt // { testOnly = true; });
clippy = hostNaersk.buildPackage (nearskOpt // { clippyOnly = true; });
dockerImage = pkgs.dockerTools.buildImage {
name = "spiretf/dispenser";
tag = "latest";