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: jobs:
check: check:
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20 - uses: cachix/install-nix-action@v20
@ -16,7 +16,7 @@ jobs:
- run: nix build .#check - run: nix build .#check
clippy: clippy:
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
needs: check needs: check
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

11
flake.lock generated
View file

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

View file

@ -1,7 +1,7 @@
{ {
inputs = { inputs = {
utils.url = "github:numtide/flake-utils"; utils.url = "github:numtide/flake-utils";
naersk.url = "github:nix-community/naersk"; naersk.url = "github:icewind1991/naersk?rev=21b870efb320d44ec1c2f661f6e6e8deca9bb239";
naersk.inputs.nixpkgs.follows = "nixpkgs"; naersk.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "nixpkgs/release-23.05"; nixpkgs.url = "nixpkgs/release-23.05";
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";
@ -30,41 +30,18 @@
cargo = toolchain; cargo = toolchain;
rustc = toolchain; rustc = toolchain;
}; };
rustSources = [ hostNaersk = naerskForTarget hostTarget;
./Cargo.toml
./Cargo.lock
./src
];
src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "src" "src/.*"]; src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "src" "src/.*"];
in rec { nearskOpt = {
packages = (lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage {
pname = "dispenser"; pname = "dispenser";
root = src; root = src;
})) // rec { };
dispenser = (naerskForTarget hostTarget).buildPackage { in rec {
pname = "dispenser"; packages = (lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage nearskOpt)) // rec {
root = src; dispenser = hostNaersk.buildPackage nearskOpt;
}; check = hostNaersk.buildPackage (nearskOpt // { checkOnly = true; });
check = (naerskForTarget hostTarget).buildPackage { test = hostNaersk.buildPackage (nearskOpt // { testOnly = true; });
pname = "dispenser"; clippy = hostNaersk.buildPackage (nearskOpt // { clippyOnly = true; });
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;
};
dockerImage = pkgs.dockerTools.buildImage { dockerImage = pkgs.dockerTools.buildImage {
name = "spiretf/dispenser"; name = "spiretf/dispenser";
tag = "latest"; tag = "latest";