nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
2018-02-17 10:35:04 +00:00

54 lines
1.8 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
let
version = "2.6.9";
goPackagePath = "github.com/buildkite/agent";
in
buildGoPackage {
name = "buildkite-agent-${version}";
inherit goPackagePath;
src = fetchFromGitHub {
owner = "buildkite";
repo = "agent";
rev = "v${version}";
sha256 = "0rlinj7dcr8vzl1pb15nfny8jkvvj50i8czf4ahv26avnfycm4pz";
};
nativeBuildInputs = [ makeWrapper ];
# on Linux, the TMPDIR is /build which is the same prefix as this package
# remove once #35068 is merged
noAuditTmpdir = stdenv.isLinux;
postInstall = ''
# Install bootstrap.sh
mkdir -p $bin/libexec/buildkite-agent
cp $NIX_BUILD_TOP/go/src/${goPackagePath}/templates/bootstrap.sh $bin/libexec/buildkite-agent
sed -e "s|#!/bin/bash|#!${bash}/bin/bash|g" -i $bin/libexec/buildkite-agent/bootstrap.sh
# Fix binary name
mv $bin/bin/{agent,buildkite-agent}
# These are runtime dependencies
wrapProgram $bin/bin/buildkite-agent \
--prefix PATH : '${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}' \
--set BUILDKITE_BOOTSTRAP_SCRIPT_PATH $bin/libexec/buildkite-agent/bootstrap.sh
'';
meta = with stdenv.lib; {
description = "Build runner for buildkite.com";
longDescription = ''
The buildkite-agent is a small, reliable, and cross-platform build runner
that makes it easy to run automated builds on your own infrastructure.
Its main responsibilities are polling buildkite.com for work, running
build jobs, reporting back the status code and output log of the job,
and uploading the job's artifacts.
'';
homepage = https://buildkite.com/docs/agent;
license = licenses.mit;
maintainers = with maintainers; [ pawelpacana zimbatm ];
platforms = platforms.unix;
};
}