1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 git,
6}:
7
8buildGoModule rec {
9 pname = "prow";
10 version = "0-unstable-2024-08-27";
11 rev = "195f38540f39dd3ec95ca2d7086487ec19922e61";
12
13 src = fetchFromGitHub {
14 inherit rev;
15
16 owner = "kubernetes-sigs";
17 repo = "prow";
18 hash = "sha256-/OhlJdxPa4rTuT7XIklx8vxprbENfasJYwiJxD4CeXY=";
19 };
20
21 vendorHash = "sha256-bJ0P/rHp+0zB/Dtp3F3n4AN3xF/A5qoq3lCQVBK+L4w=";
22
23 # doCheck = false;
24
25 subPackages = [
26 "cmd/admission"
27 "cmd/branchprotector"
28 "cmd/checkconfig"
29 "cmd/clonerefs"
30 "cmd/cm2kc"
31 "cmd/config-bootstrapper"
32 "cmd/crier"
33 "cmd/deck"
34 "cmd/entrypoint"
35 "cmd/exporter"
36 "cmd/external-plugins"
37 "cmd/gangway"
38 "cmd/gcsupload"
39 "cmd/generic-autobumper"
40 "cmd/gerrit"
41 "cmd/ghproxy"
42 "cmd/hmac"
43 "cmd/hook"
44 "cmd/horologium"
45 "cmd/initupload"
46 "cmd/invitations-accepter"
47 "cmd/jenkins-operator"
48 "cmd/mkpj"
49 "cmd/mkpod"
50 "cmd/moonraker"
51 "cmd/peribolos"
52 "cmd/phony"
53 "cmd/pipeline"
54 "cmd/prow-controller-manager"
55 "cmd/sidecar"
56 "cmd/sinker"
57 "cmd/status-reconciler"
58 "cmd/sub"
59 "cmd/tackle"
60 "cmd/tide"
61 "cmd/tot"
62 "cmd/webhook-server"
63 ];
64
65 nativeCheckInputs = [ git ];
66
67 meta = {
68 description = "Kubernetes based CI/CD system developed to serve the Kubernetes community";
69 longDescription = ''
70 Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various
71 types of events and report their status to many different services. In
72 addition to job execution, Prow provides GitHub automation in the form of
73 policy enforcement, chat-ops via /foo style commands, and automatic PR
74 merging.
75 '';
76 homepage = "https://github.com/kubernetes-sigs/prow";
77 license = lib.licenses.asl20;
78 maintainers = with lib.maintainers; [ kalbasit ];
79 platforms = lib.platforms.linux ++ lib.platforms.darwin;
80 };
81}