filter build source to avoid unneeded rebuilds

This commit is contained in:
Robin Appelman 2023-05-28 23:20:48 +02:00
commit 18718f93f4
2 changed files with 11 additions and 4 deletions

View file

@ -56,4 +56,4 @@ jobs:
- name: Push image - name: Push image
if: github.ref == 'refs/heads/main' if: github.ref == 'refs/heads/main'
run: | run: |
skopeo copy --dest-creds="${{ secrets.DOCKERHUB_USERNAME }}:${{ secrets.DOCKERHUB_TOKEN }}" "docker-archive:$(nix build .#dockerImage --print-out-paths)" "docker://icewind1991/dispenser" skopeo copy --dest-creds="${{ secrets.DOCKERHUB_USERNAME }}:${{ secrets.DOCKERHUB_TOKEN }}" "docker-archive:$(nix build .#dockerImage --print-out-paths)" "docker://spiretf/dispenser"

View file

@ -17,6 +17,7 @@
rust-overlay, rust-overlay,
}: }:
utils.lib.eachDefaultSystem (system: let utils.lib.eachDefaultSystem (system: let
lib = nixpkgs.lib;
overlays = [ (import rust-overlay) ]; overlays = [ (import rust-overlay) ];
pkgs = (import nixpkgs) { pkgs = (import nixpkgs) {
inherit system overlays; inherit system overlays;
@ -29,14 +30,20 @@
cargo = toolchain; cargo = toolchain;
rustc = toolchain; rustc = toolchain;
}; };
rustSources = [
./Cargo.toml
./Cargo.lock
./src
];
src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "src" "src/.*"];
in rec { in rec {
packages = (nixpkgs.lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage { packages = (lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage {
pname = "dispenser"; pname = "dispenser";
root = ./.; root = src;
})) // rec { })) // rec {
dispenser = (naerskForTarget hostTarget).buildPackage { dispenser = (naerskForTarget hostTarget).buildPackage {
pname = "dispenser"; pname = "dispenser";
root = ./.; root = src;
}; };
dockerImage = pkgs.dockerTools.buildImage { dockerImage = pkgs.dockerTools.buildImage {
name = "spiretf/dispenser"; name = "spiretf/dispenser";