diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 711e2f3..f9a0909 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,5 +39,5 @@ jobs: path: .devenv/state/.bundle key: ${{ runner.os }}-gems-${{ hashFiles('Gemfile.lock') }} restore-keys: ${{ runner.os }}-gems- - - name: Run the default task - run: devenv shell -- bin/rake + - name: Run the tests + run: devenv tasks run test:unit test:mutate diff --git a/Rakefile b/Rakefile index eead8d7..6a897fa 100644 --- a/Rakefile +++ b/Rakefile @@ -1,17 +1,4 @@ # frozen_string_literal: true require "bundler/gem_tasks" -require "minitest/test_task" require_relative "lib/en57/tasks" - -Minitest::TestTask.create - -task :mutate do - system("bin/mutant run") -end - -task :mutate_since do - system("bin/mutant run --since #{ENV.fetch("MUTANT_SINCE")}") -end - -task default: %i[test mutate_since] diff --git a/devenv.nix b/devenv.nix index 7644da6..9e725eb 100644 --- a/devenv.nix +++ b/devenv.nix @@ -20,9 +20,16 @@ "app:setup".exec = "bundle install --quiet"; "devenv:enterShell".after = [ "app:setup" ]; "app:format".exec = "treefmt"; - "app:test".exec = "bin/rake test"; - "app:mutate".exec = "bin/mutant run"; - "app:check".exec = "bin/rake"; # default: test + mutate_since + + "test:unit" = { + exec = "bin/m test"; + after = [ "app:setup" ]; + }; + "test:mutate" = { + exec = ''bin/mutant run --since "''${MUTANT_SINCE:-HEAD}"''; + after = [ "app:setup" ]; + }; + "test:pg".exec = "pg-regress"; }; treefmt.enable = true; @@ -93,12 +100,11 @@ --schedule=test/pg_regress/schedule_existing ''; - git-hooks.hooks.rake = { + git-hooks.hooks.test = { enable = true; - name = "rake (test + mutate_since)"; - entry = "${pkgs.writeShellScript "rake-precommit" '' - export MUTANT_SINCE="''${MUTANT_SINCE:-HEAD}" - exec bin/rake + name = "test:unit + test:mutate"; + entry = "${pkgs.writeShellScript "pre-commit-test" '' + exec devenv tasks run test:unit test:mutate ''}"; pass_filenames = false; language = "system";