parent
60a6c63155
commit
fda705527d
|
@ -631,7 +631,6 @@
|
||||||
./services/web-apps/atlassian/jira.nix
|
./services/web-apps/atlassian/jira.nix
|
||||||
./services/web-apps/frab.nix
|
./services/web-apps/frab.nix
|
||||||
./services/web-apps/mattermost.nix
|
./services/web-apps/mattermost.nix
|
||||||
./services/web-apps/nixbot.nix
|
|
||||||
./services/web-apps/nexus.nix
|
./services/web-apps/nexus.nix
|
||||||
./services/web-apps/pgpkeyserver-lite.nix
|
./services/web-apps/pgpkeyserver-lite.nix
|
||||||
./services/web-apps/matomo.nix
|
./services/web-apps/matomo.nix
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.services.nixbot;
|
|
||||||
pyramidIni = ''
|
|
||||||
###
|
|
||||||
# app configuration
|
|
||||||
# http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/environment.html
|
|
||||||
###
|
|
||||||
|
|
||||||
[app:main]
|
|
||||||
use = egg:nixbot
|
|
||||||
|
|
||||||
nixbot.github_token = ${cfg.githubToken}
|
|
||||||
nixbot.bot_name = ${cfg.botName}
|
|
||||||
nixbot.repo = ${cfg.repo}
|
|
||||||
nixbot.pr_repo = ${cfg.prRepo}
|
|
||||||
nixbot.hydra_jobsets_repo = ${cfg.hydraJobsetsRepo}
|
|
||||||
nixbot.github_secret = justnotsorandom
|
|
||||||
nixbot.public_url = ${cfg.publicUrl}
|
|
||||||
nixbot.repo_dir = ${cfg.repoDir}
|
|
||||||
|
|
||||||
pyramid.reload_templates = false
|
|
||||||
pyramid.debug_authorization = false
|
|
||||||
pyramid.debug_notfound = false
|
|
||||||
pyramid.debug_routematch = false
|
|
||||||
pyramid.default_locale_name = en
|
|
||||||
|
|
||||||
# By default, the toolbar only appears for clients from IP addresses
|
|
||||||
# '127.0.0.1' and '::1'.
|
|
||||||
# debugtoolbar.hosts = 127.0.0.1 ::1
|
|
||||||
|
|
||||||
###
|
|
||||||
# wsgi server configuration
|
|
||||||
###
|
|
||||||
|
|
||||||
[server:main]
|
|
||||||
use = egg:waitress#main
|
|
||||||
host = 0.0.0.0
|
|
||||||
port = 6543
|
|
||||||
|
|
||||||
###
|
|
||||||
# logging configuration
|
|
||||||
# http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/logging.html
|
|
||||||
###
|
|
||||||
|
|
||||||
[loggers]
|
|
||||||
keys = root, nixbot
|
|
||||||
|
|
||||||
[handlers]
|
|
||||||
keys = console
|
|
||||||
|
|
||||||
[formatters]
|
|
||||||
keys = generic
|
|
||||||
|
|
||||||
[logger_root]
|
|
||||||
level = INFO
|
|
||||||
handlers = console
|
|
||||||
|
|
||||||
[logger_nixbot]
|
|
||||||
level = INFO
|
|
||||||
handlers =
|
|
||||||
qualname = nixbot
|
|
||||||
|
|
||||||
[handler_console]
|
|
||||||
class = StreamHandler
|
|
||||||
args = (sys.stderr,)
|
|
||||||
level = NOTSET
|
|
||||||
formatter = generic
|
|
||||||
|
|
||||||
[formatter_generic]
|
|
||||||
format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
options = {
|
|
||||||
services.nixbot = {
|
|
||||||
enable = mkEnableOption "nixbot";
|
|
||||||
|
|
||||||
botName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The bot's github user account name.";
|
|
||||||
default = "nixbot";
|
|
||||||
};
|
|
||||||
|
|
||||||
githubToken = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The bot's github user account token.";
|
|
||||||
example = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
||||||
};
|
|
||||||
|
|
||||||
repo = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The github repository to check for PRs.";
|
|
||||||
example = "nixos/nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
prRepo = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The github repository to push the testing branches to.";
|
|
||||||
example = "nixos/nixpkgs-pr";
|
|
||||||
};
|
|
||||||
|
|
||||||
hydraJobsetsRepo = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The github repository to push the hydra jobset definitions to.";
|
|
||||||
example = "nixos/hydra-jobsets";
|
|
||||||
};
|
|
||||||
|
|
||||||
publicUrl = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "The public URL the bot is reachable at (Github hook endpoint).";
|
|
||||||
example = "https://nixbot.nixos.org";
|
|
||||||
};
|
|
||||||
|
|
||||||
repoDir = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
description = "The directory the repositories are stored in.";
|
|
||||||
default = "/var/lib/nixbot";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
users.extraUsers.nixbot = {
|
|
||||||
createHome = true;
|
|
||||||
home = cfg.repoDir;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.nixbot = let
|
|
||||||
env = pkgs.python3.buildEnv.override {
|
|
||||||
extraLibs = [ pkgs.nixbot ];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
script = ''
|
|
||||||
${env}/bin/pserve ${pkgs.writeText "production.ini" pyramidIni}
|
|
||||||
'';
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
User = "nixbot";
|
|
||||||
Group = "nogroup";
|
|
||||||
PermissionsStartOnly = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{ stdenv, python3Packages, fetchFromGitHub }:
|
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
|
||||||
name = "nixbot-unstable-2016-10-09";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "domenkozar";
|
|
||||||
repo = "nixbot";
|
|
||||||
rev = "dc490e4954cb08f0eff97f74ad39dedb54670aa9";
|
|
||||||
sha256 = "1l8rlhd2b7x5m79vb2vgszachygasv0pk8drnwgxyvsn0k88xcan";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
|
||||||
pygit2 pyramid waitress github3_py
|
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Github bot for reviewing/testing pull requests with the help of Hydra";
|
|
||||||
maintainers = with maintainers; [ domenkozar fpletz globin ];
|
|
||||||
license = licenses.asl20;
|
|
||||||
homepage = https://github.com/domenkozar/nixbot;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -3904,8 +3904,6 @@ with pkgs;
|
||||||
|
|
||||||
nitrogen = callPackage ../tools/X11/nitrogen {};
|
nitrogen = callPackage ../tools/X11/nitrogen {};
|
||||||
|
|
||||||
nixbot = callPackage ../tools/misc/nixbot {};
|
|
||||||
|
|
||||||
notify-desktop = callPackage ../tools/misc/notify-desktop {};
|
notify-desktop = callPackage ../tools/misc/notify-desktop {};
|
||||||
|
|
||||||
nkf = callPackage ../tools/text/nkf {};
|
nkf = callPackage ../tools/text/nkf {};
|
||||||
|
|
Loading…
Reference in New Issue