From dd354bc323cd3176c9676444f99b33b69d0a2062 Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Sat, 14 May 2022 15:21:52 -0600 Subject: [PATCH] Create srv.dev-shell target in Makefile --- Makefile | 16 ++++++++++------ test.sh => srv-dev-env.sh | 6 +++--- srv/default.nix | 17 ++++++----------- 3 files changed, 19 insertions(+), 20 deletions(-) rename test.sh => srv-dev-env.sh (83%) diff --git a/Makefile b/Makefile index de7e4f1..f5eadc0 100644 --- a/Makefile +++ b/Makefile @@ -6,16 +6,20 @@ entrypoint: --arg baseConfig '(import ${CONFIG})' install: - nix-build -A install --arg baseConfig '(import ${CONFIG})' - ./result + $$(nix-build -A install --arg baseConfig '(import ${CONFIG})') test: - $$(nix-build --no-out-link -A pkgs.bash)/bin/bash test.sh - @if [ $$? == 0 ]; then echo "TESTS PASSED!"; else echo "TESTS FAILED!"; fi + $$(nix-build --no-out-link -A pkgs.bash)/bin/bash srv-dev-env.sh \ + --run "cd srv/src && go test ./... -count=1 -tags integration" + @echo "\nTESTS PASSED!\n" + +srv.dev-shell: + $$(nix-build --no-out-link -A pkgs.bash)/bin/bash srv-dev-env.sh \ + --command "cd srv/src; return" srv.shell: - nix-shell -A srv.shell --arg baseConfig '(import ${CONFIG})' \ - --command 'cd srv; return' + nix-shell -A srv.shellWithBuild --arg baseConfig '(import ${CONFIG})' \ + --command 'cd srv/src; return' # TODO static is on the way out, these aren't well supported static.serve: diff --git a/test.sh b/srv-dev-env.sh similarity index 83% rename from test.sh rename to srv-dev-env.sh index b45cd55..2df9918 100644 --- a/test.sh +++ b/srv-dev-env.sh @@ -24,6 +24,6 @@ while [ ! -e $test_dir/run/redis ]; do sleep 1 done -nix-shell -A srv.test \ - --arg baseConfig "$test_cfg" \ - --run "cd srv/src && go test ./... -count=1 -tags integration" +nix-shell -A srv.shell \ + --arg baseConfig "$test_cfg" \ + "$@" diff --git a/srv/default.nix b/srv/default.nix index a5aa6af..7067e1e 100644 --- a/srv/default.nix +++ b/srv/default.nix @@ -52,18 +52,13 @@ shell = stdenv.mkDerivation { name = "mediocre-blog-srv-shell"; - buildInputs = [ go build ]; - shellHook = '' - source ${init} - cd src - ''; + buildInputs = [ go ]; + shellHook = ''source ${init}''; }; - test = stdenv.mkDerivation { - name = "mediocre-blog-srv-test"; - buildInputs = [ go ]; - shellHook = '' - source ${init} - ''; + shellWithBuild = stdenv.mkDerivation { + name = "mediocre-blog-srv-shell-with-build"; + buildInputs = [ go build ]; + shellHook = ''source ${init}''; }; }