- Add lcov to nix flake (required for flutter --merge-coverage) - stalwart-dev/test.sh: collect and merge coverage when unit baseline exists - run_unit_tests.sh: remove inline coverage check (now in dedicated task) - Taskfile: add coverage task; check runs test → integration → coverage sequentially so the gate sees combined unit + integration data - check-fast (pre-commit) omits coverage gate since integration tests don't run there; full gate runs only in task check - Drop two untestable fake-only tests (UID-validity reset, malformed envelope) - Coverage threshold restored to 80% (84% with merged data) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
58 lines
1.7 KiB
Nix
58 lines
1.7 KiB
Nix
{
|
|
description = "SharedInbox — IMAP/SMTP Flutter client";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
in {
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
# Java JDK — required by Gradle for Android builds
|
|
jdk17
|
|
|
|
# Task runner
|
|
go-task
|
|
|
|
# Flutter version manager — needed for host builds (task build-linux, task run)
|
|
fvm
|
|
|
|
# Local IMAP/SMTP dev server for integration tests
|
|
stalwart-mail
|
|
|
|
# Headless display for UI integration tests
|
|
xvfb-run # wraps Xvfb; xvfb-run --auto-servernum ...
|
|
|
|
# Coverage merging (flutter test --merge-coverage requires lcov)
|
|
lcov
|
|
|
|
# Utilities
|
|
git
|
|
curl
|
|
jq
|
|
sqlite
|
|
python3 # used by stalwart-dev/start to pick random ports
|
|
];
|
|
|
|
shellHook = ''
|
|
# Disable Flutter telemetry inside dev shell
|
|
export FLUTTER_SUPPRESS_ANALYTICS=true
|
|
|
|
echo "SharedInbox Flutter dev environment ready."
|
|
echo " Analyze : task analyze"
|
|
echo " Unit tests : task test"
|
|
echo " Integration : task integration"
|
|
echo " All checks : task check"
|
|
echo " Run (Linux) : task run"
|
|
echo " Start Stalwart : stalwart-dev/start"
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
}
|