feat: Add the check-pr script

This commit is contained in:
PapaTutuWawa 2023-07-24 18:37:03 +02:00
parent 92687b6513
commit 3e2f63478c
2 changed files with 40 additions and 0 deletions

View File

@ -20,6 +20,18 @@
''; '';
}; };
flutter-build-raw = pkgs.callPackage flutterBuildRaw {}; flutter-build-raw = pkgs.callPackage flutterBuildRaw {};
checkPr = {stdenv}: stdenv.mkDerivation {
pname = "check-pr";
version = "0.1.0";
src = ./.;
installPhase = ''
mkdir -p $out/bin
install --mode 555 src/flutter/check-pr.sh $out/bin/check-pr
'';
};
in { in {
packages = { packages = {
# The raw flutter-build script # The raw flutter-build script
@ -31,6 +43,9 @@
--notify-send ${pkgs.libnotify}/bin/notify-send \ --notify-send ${pkgs.libnotify}/bin/notify-send \
$@ $@
''; '';
# A script for checking if a PR is okay
checkPr = pkgs.callPackage checkPr {};
}; };
}); });
} }

25
src/flutter/check-pr.sh Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# Run before merging a PR. Checks if the formatting is correct.
# Check if there are any formatting issues
echo "Checking formatting..."
dart_format_result=$(dart format --output none --set-exit-if-changed .)
if [[ ! "$?" = "0" ]]; then
echo "Error: dart format indicates that format the code is not formatted properly"
echo
echo "dart format output:"
echo "$dart_format_result"
exit 1
fi
# Check if the linter has any issues
echo "Checking linter..."
flutter_analyze_result=$(flutter analyze)
if [[ ! "$?" = "0" ]]; then
echo "Error: flutter analyze indicates that there are lint issues"
echo
echo "flutter analyze output:"
echo "${flutter_analyze_result}"
exit 1
fi
echo "PR looks good!"