diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 401e06eadaaff563df345ac39c93661b93f35b3d..6fa7ce003d7bc0745b28bbde34d59023b15fb532 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,7 @@ test: tags: - nixos-gen3 script: - - nix develop --command run-ci-tests + - nix develop .#gitlab --command run-ci-tests deploy: stage: deploy @@ -29,3 +29,4 @@ deploy: - nix develop --command clean-up when: on_success + \ No newline at end of file diff --git a/flake.nix b/flake.nix index e8953e3de9296bd2af94de79dc1c743d922e2d3f..73f4c89b85cd448a59f0a55dcf2b8716015ffca9 100644 --- a/flake.nix +++ b/flake.nix @@ -48,34 +48,34 @@ versionPath ]; - ciScriptPackages = [ + gitlabPackages = + commonPackages + ++ scriptPackages + ++ [ + script-deploy script-clean-up script-run-ci-tests - ]; + ]; + shellPackages = let lib = pkgs'.lib; - gitlabToken = builtins.getEnv "GITLAB_TOKEN"; in commonPackages ++ extendedPackages - ++ scriptPackages - ++ lib.optionals (gitlabToken!="") ciScriptPackages; + ++ scriptPackages; - debugShellPackages = - commonPackages - ++ scriptPackages - ++ [ - ]; + in { packages = rec { monster = pkgs'.callPackage ./nix/packages/monster.nix {inherit commonScript;}; - default = self.monster; + default = monster; }; devShells = { + default = let ciJobToken = builtins.getEnv "CI_JOB_TOKEN"; in @@ -114,11 +114,11 @@ ''; }; - debug = let + gitlab = let ciJobToken = builtins.getEnv "CI_JOB_TOKEN"; in pkgs'.mkShell { - nativeBuildInputs = debugShellPackages; + nativeBuildInputs = gitlabPackages; # apps.run-server = pkgs'.writeShellScriptBin "run-server" '' # ${commonScript} @@ -126,7 +126,15 @@ # ''; shellHook = '' - + source ${commonScript} + + if [ -z "${ciJobToken}" ]; then + echo_fail "You are not in a CI environment, this shell is intended for CI, but for local development" + exit 1 + fi + + echo_header "Gitlab Monster Shell" + ''; }; };