Fix dart→flutter in CI; add pre-commit hook and install-hooks task

- ci.yml: dart run/dart test → flutter pub run/flutter test (all 3 jobs)
- hooks/pre-commit: runs flutter analyze + flutter test before every commit
- Taskfile: add install-hooks task (copies hooks/pre-commit → .git/hooks/)
- LATER.md: remove resolved items (enough_mail fork, pre-commit, GH CI)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Güttler
2026-04-16 09:55:15 +02:00
co-authored by Claude Sonnet 4.6
parent da38948652
commit 818f66c738
4 changed files with 36 additions and 7 deletions
+4 -4
View File
@@ -23,13 +23,13 @@ jobs:
run: flutter pub get
- name: Generate Drift code
run: dart run build_runner build --delete-conflicting-outputs
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Analyze
run: flutter analyze --fatal-infos
- name: Unit tests
run: dart test test/unit/
run: flutter test test/unit/ --coverage
integration:
name: Integration tests (Stalwart)
@@ -55,7 +55,7 @@ jobs:
run: |
nix develop --command bash -c "
flutter pub get &&
dart run build_runner build --delete-conflicting-outputs &&
flutter pub run build_runner build --delete-conflicting-outputs &&
stalwart-dev/test.sh
"
@@ -83,7 +83,7 @@ jobs:
run: flutter pub get
- name: Generate Drift code
run: dart run build_runner build --delete-conflicting-outputs
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Build Linux release
run: flutter build linux --release
+7 -3
View File
@@ -1,5 +1,9 @@
Can I publish my enough mail changes somehow. Maybe do a repo fork ?
# Later
Add pre-commit
Thread view (group by References / In-Reply-To)
Add GH CI
Search (IMAP SEARCH command)
Attachment download + open
Draft auto-save
+7
View File
@@ -12,6 +12,13 @@ tasks:
- sh: test "${DIRENV_DIR#-}" = "{{.TASKFILE_DIR}}"
msg: "Not in nix dev shell. Run: nix develop"
install-hooks:
desc: Install git hooks from hooks/ into .git/hooks/
cmds:
- cp hooks/pre-commit .git/hooks/pre-commit
- chmod +x .git/hooks/pre-commit
- echo "Installed hooks/pre-commit → .git/hooks/pre-commit"
codegen:
desc: Generate Drift DB code (run after any schema change)
deps: [_nix-check]
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Runs fast checks before every commit.
# Install with: task install-hooks
set -euo pipefail
# Only run if flutter is in PATH (i.e. inside the nix dev shell).
if ! command -v flutter >/dev/null 2>&1; then
echo "pre-commit: flutter not in PATH — skipping (run inside nix develop)"
exit 0
fi
echo "pre-commit: flutter analyze..."
flutter analyze --fatal-infos
echo "pre-commit: unit tests..."
flutter test test/unit/ --coverage
echo "pre-commit: all checks passed."