aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
diff options
context:
space:
mode:
authorRodney Lorrimar <dev@rodney.id.au>2018-04-25 13:47:26 +0100
committerzimbatm <zimbatm@zimbatm.com>2018-04-25 13:47:26 +0100
commitca7d98399976be0dd562d1f8ecd62ed3e5cd5656 (patch)
tree8ca6c50c6e5911cd640951a58060f02431b31051 /pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
parent8d58b1a0a019bb00ac6fb1792fe36e81847b7c92 (diff)
buildkite-agent3: init at 3.0.1 (#39471)
New stable release. Version 2.6 is kept for backwards compatibility. https://github.com/buildkite/agent/releases/tag/v3.0.0 https://github.com/buildkite/agent/releases/tag/v3.0.1
Diffstat (limited to 'pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix')
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
new file mode 100644
index 000000000000..8aa02ac307dd
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
@@ -0,0 +1,49 @@
+{ stdenv, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
+, src, version, hasBootstrapScript
+, ... }:
+let
+ goPackagePath = "github.com/buildkite/agent";
+in
+buildGoPackage {
+ name = "buildkite-agent-${version}";
+
+ inherit goPackagePath src;
+
+ 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 = ''
+ ${stdenv.lib.optionalString hasBootstrapScript ''
+ # 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 \
+ ${stdenv.lib.optionalString hasBootstrapScript "--set BUILDKITE_BOOTSTRAP_SCRIPT_PATH $bin/libexec/buildkite-agent/bootstrap.sh"} \
+ --prefix PATH : '${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}'
+ '';
+
+ 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.
+ It’s 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 rvl ];
+ platforms = platforms.unix;
+ };
+}