2023-04-08 18:11:07 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
buildGoModule,
|
|
|
|
callPackage,
|
|
|
|
fetchFromGitHub,
|
|
|
|
writeScript,
|
|
|
|
}: let
|
|
|
|
woodpecker-frontend = callPackage ./frontend.nix {};
|
|
|
|
common = callPackage ./common.nix {};
|
|
|
|
in
|
|
|
|
buildGoModule rec {
|
|
|
|
pname = "woodpecker-server";
|
|
|
|
inherit (common) version src ldflags postBuild;
|
|
|
|
vendorSha256 = builtins.readFile ./server.sha256;
|
|
|
|
proxyVendor = true;
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
cp -r ${woodpecker-frontend} web/dist
|
|
|
|
'';
|
|
|
|
|
|
|
|
subPackages = "cmd/server";
|
|
|
|
|
|
|
|
CGO_ENABLED = 1;
|
|
|
|
|
2023-04-12 07:12:24 +00:00
|
|
|
patches = [./unlimited-matrix.patch];
|
|
|
|
|
2023-04-08 18:11:07 +00:00
|
|
|
passthru = {
|
|
|
|
inherit woodpecker-frontend;
|
|
|
|
|
|
|
|
updateScript = writeScript "update-woodpecker" ''
|
|
|
|
${../../scripts/update-git.sh} https://github.com/woodpecker-ci/woodpecker ci/woodpecker/source.json
|
|
|
|
if [ "$(git diff -- ci/woodpecker/source.json)" ]; then
|
|
|
|
SRC_PATH=$(nix-build -E '(import ./. {}).${pname}.src')
|
|
|
|
${../../scripts/update-yarn.sh} $SRC_PATH/web ci/woodpecker
|
|
|
|
./scripts/update-go.sh ci/woodpecker/agent.nix ci/woodpecker/agent.sha256
|
|
|
|
./scripts/update-go.sh ci/woodpecker/cli.nix ci/woodpecker/cli.sha256
|
|
|
|
./scripts/update-go.sh ci/woodpecker/server.nix ci/woodpecker/server.sha256
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
meta =
|
|
|
|
common.meta
|
|
|
|
// {
|
|
|
|
description = "Woodpecker Continuous Integration server";
|
|
|
|
};
|
|
|
|
}
|