diff --git a/.woodpecker/build_backend.yaml b/.woodpecker/build_backend.yaml new file mode 100644 index 0000000..9471e62 --- /dev/null +++ b/.woodpecker/build_backend.yaml @@ -0,0 +1,11 @@ +when: + - event: pull_request + +steps: + - name: "Run cargo test" + image: nixos/nix + commands: + - echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf + - nix build --store unix:///mnt/nix/var/nix/daemon-socket/socket?root=/mnt .#backend + volumes: + - /nix:/mnt/nix:ro diff --git a/.woodpecker/cargo_check.yaml b/.woodpecker/cargo_check.yaml index 557ee6c..fe50deb 100644 --- a/.woodpecker/cargo_check.yaml +++ b/.woodpecker/cargo_check.yaml @@ -3,7 +3,10 @@ when: steps: - name: "Run cargo check" - image: docker.nix-community.org/nixpkgs/nix-flakes + image: nixos/nix commands: - - nix shell github:nixos/nixpkgs/nixos-unstable#cargo github:nixos/nixpkgs/nixos-unstable#gcc + - echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf + - nix develop --store unix:///mnt/nix/var/nix/daemon-socket/socket?root=/mnt - cargo check --workspace --all-targets + volumes: + - /nix:/mnt/nix:ro diff --git a/.woodpecker/cargo_clippy.yaml b/.woodpecker/cargo_clippy.yaml index dd4c38e..9c9e998 100644 --- a/.woodpecker/cargo_clippy.yaml +++ b/.woodpecker/cargo_clippy.yaml @@ -3,7 +3,10 @@ when: steps: - name: "Run cargo clippy" - image: docker.nix-community.org/nixpkgs/nix-flakes + image: nixos/nix commands: - - nix shell github:nixos/nixpkgs/nixos-unstable#clippy github:nixos/nixpkgs/nixos-unstable#cargo github:nixos/nixpkgs/nixos-unstable#gcc + - echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf + - nix develop --store unix:///mnt/nix/var/nix/daemon-socket/socket?root=/mnt - cargo clippy + volumes: + - /nix:/mnt/nix:ro diff --git a/.woodpecker/cargo_test.yaml b/.woodpecker/cargo_test.yaml index 6c5d3fb..997358e 100644 --- a/.woodpecker/cargo_test.yaml +++ b/.woodpecker/cargo_test.yaml @@ -3,7 +3,10 @@ when: steps: - name: "Run cargo test" - image: docker.nix-community.org/nixpkgs/nix-flakes + image: nixos/nix commands: - - nix shell github:nixos/nixpkgs/nixos-unstable#cargo github:nixos/nixpkgs/nixos-unstable#gcc + - echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf + - nix develop --store unix:///mnt/nix/var/nix/daemon-socket/socket?root=/mnt - cargo test --workspace --all-targets + volumes: + - /nix:/mnt/nix:ro diff --git a/.woodpecker/check_fmt.yaml b/.woodpecker/check_fmt.yaml index 5e95d46..33cd34e 100644 --- a/.woodpecker/check_fmt.yaml +++ b/.woodpecker/check_fmt.yaml @@ -3,6 +3,9 @@ when: steps: - name: "Run treefmt" - image: docker.nix-community.org/nixpkgs/nix-flakes + image: nixos/nix commands: - - nix fmt -- --fail-on-change + - echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf + - nix fmt --store unix:///mnt/nix/var/nix/daemon-socket/socket?root=/mnt -- --fail-on-change + volumes: + - /nix:/mnt/nix:ro diff --git a/flake.lock b/flake.lock index a691adf..7cfad76 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1742889210, - "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "698214a32beb4f4c8e3942372c694f40848b360d", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c90bed3..7cabc64 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ nodejs cargo clippy + gcc ]; }; } @@ -79,6 +80,28 @@ }; }; }; + backend = pkgs.rustPlatform.buildRustPackage rec { + pname = "backend"; + version = "0.1"; + + src = pkgs.lib.fileset.toSource { + root = ./.; + fileset = pkgs.lib.fileset.unions [ + ./Cargo.lock + ./Cargo.toml + ./crates + ./.cargo + ]; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + meta = { + mainProgram = "backend"; + }; + }; } ); formatter = forSystems (