Drop embedded frontend from Pyroscope build

The webpack build fails on a @grafana/ui icons glob that doesn't
resolve in the Nix sandbox. Since Grafana is the primary UI via the
pyroscope datasource plugin, the standalone web UI isn't needed.
Build with EMBEDASSETS="" (upstream's build-dev path).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-03-26 14:39:34 -07:00
commit ef2385322a

View file

@ -2,6 +2,8 @@
# Builds v1.19.1 from forge mirror
# Uses stdenv + make (not buildGoModule) due to multi-module go.work workspace
# with local replace directives (./api, ./lidia)
# Built without embedded frontend — Grafana is the primary UI via the
# grafana-pyroscope-datasource plugin, so the standalone web UI is not needed.
# Built with dockerTools.buildLayeredImage for efficient layer caching
{ pkgs ? import <nixpkgs> { } }:
@ -14,29 +16,6 @@ let
hash = "sha256-UPxGimkzXLFACqmAM1hNQIoNjN6OquVibwVmNvP00+s=";
};
# Build frontend assets via yarn + webpack (upstream uses Docker for this)
ui = pkgs.mkYarnPackage {
inherit version src;
pname = "pyroscope-ui";
buildPhase = ''
runHook preBuild
export HOME=$TMPDIR
cd deps/grafana-pyroscope
yarn --offline build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r deps/grafana-pyroscope/public/build/* $out/
runHook postInstall
'';
distPhase = "true";
};
# Pre-fetch Go modules for all go.mod files in the workspace (fixed-output derivation)
goModules = pkgs.stdenv.mkDerivation {
pname = "pyroscope-go-modules";
@ -89,16 +68,11 @@ let
cp -r ${goModules} $GOPATH/pkg/mod
chmod -R u+w $GOPATH/pkg/mod
# Copy pre-built frontend assets
mkdir -p public/build
cp -r ${ui}/* public/build/
# Build Go binary with embedded frontend assets
# Skip the Makefile's frontend/build target (uses Docker) and
# invoke go/bin directly with EMBEDASSETS set
# Build Go binary without embedded frontend (EMBEDASSETS="")
# Grafana queries Pyroscope via API; standalone web UI not needed
# CGO_ENABLED=0 for static binary (matches upstream)
CGO_ENABLED=0 \
EMBEDASSETS=embedassets \
EMBEDASSETS="" \
IMAGE_TAG=v${version} \
make go/bin