nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 testers,
6 runitor,
7}:
8
9buildGoModule rec {
10 pname = "runitor";
11 version = "1.4.1";
12 vendorHash = "sha256-SYYAAtuWt/mTmZPBilYxf2uZ6OcgeTnobYiye47i8mI=";
13
14 src = fetchFromGitHub {
15 owner = "bdd";
16 repo = "runitor";
17 rev = "v${version}";
18 sha256 = "sha256-y4wIfal8aiVD5ZoRF6GnYUGRssBLMOPSWa40+3OU4y0=";
19 };
20
21 ldflags = [
22 "-s"
23 "-w"
24 "-X main.Version=v${version}"
25 ];
26
27 passthru.tests.version = testers.testVersion {
28 package = runitor;
29 command = "runitor -version";
30 version = "v${version}";
31 };
32
33 # Unit tests require binding to local addresses for listening sockets.
34 __darwinAllowLocalNetworking = true;
35
36 meta = {
37 homepage = "https://bdd.fi/x/runitor";
38 description = "Command runner with healthchecks.io integration";
39 longDescription = ''
40 Runitor runs the supplied command, captures its output, and based on its exit
41 code reports successful or failed execution to https://healthchecks.io or your
42 private instance.
43
44 Healthchecks.io is a web service for monitoring periodic tasks. It's like a
45 dead man's switch for your cron jobs. You get alerted if they don't run on time
46 or terminate with a failure.
47 '';
48 license = lib.licenses.bsd0;
49 maintainers = with lib.maintainers; [ bdd ];
50 mainProgram = "runitor";
51 };
52}