nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
Bruno BELANYI 32aa830e10
woodpecker-{agent,cli,server}: init at 0.15.3 (#178441)
* woodpecker-{agent,cli,server}: init at 0.15.3

* woodpecker-*: tweak packaging

* Use 'callPackage' to import 'common.nix'.
* Prefix the binaries with 'woodpecker-', removing the need for
  'meta.mainProgram'.
* Remove IFD in 'mkYarnPackage' by committing 'package.json'.
* Simplify the server derivation, by not building it statically.
* Expose 'woodpecker-frontend' as a package for overriding purposes.
* Reduce package size for 'woodpecker-frontend' by just keeping the 'dist'
  folder.
* Have common `ldflags` and `postBuild` values.

* woodpecker-server: expose front-end with 'passthru'

* woodpecker-server: add update script

Co-authored-by: 06kellyjac <dev@j-k.io>
2022-06-24 16:32:29 +02:00

41 lines
825 B
Nix

{ lib, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
let
common = callPackage ./common.nix { };
in
mkYarnPackage {
pname = "woodpecker-frontend";
inherit (common) version;
src = "${common.src}/web";
packageJSON = ./woodpecker-package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${common.src}/web/yarn.lock";
sha256 = common.yarnSha256;
};
buildPhase = ''
runHook preBuild
yarn build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -R deps/woodpecker-ci/dist $out
echo "${common.version}" > "$out/version"
runHook postInstall
'';
# Do not attempt generating a tarball for woodpecker-frontend again.
doDist = false;
meta = common.meta // {
description = "Woodpecker Continuous Integration server frontend";
};
}