Files
Kevin Minehart 13f4cf162e CI: move grafana-build into pkg/build (#105640)
* move grafana-build into pkg/build
2025-05-20 10:48:00 -05:00

32 lines
1.1 KiB
Go

package frontend
import (
"dagger.io/dagger"
)
func Build(builder *dagger.Container) *dagger.Directory {
public := builder.
WithExec([]string{"yarn", "run", "build"}).
WithExec([]string{"/bin/sh", "-c", "find /src/public -type d -name node_modules -print0 | xargs -0 rm -rf"}).
Directory("/src/public")
return public
}
func BuildPlugins(builder *dagger.Container) *dagger.Directory {
public := builder.
WithExec([]string{"yarn", "install", "--immutable"}).
WithExec([]string{"/bin/sh", "-c", `if [ -d /src/plugins-bundled ]; then yarn run plugins:build-bundled; else mkdir /src/plugins-bundled; fi`}).
WithExec([]string{"/bin/sh", "-c", "find /src/plugins-bundled -type d -name node_modules -print0 | xargs -0 rm -rf"}).
Directory("/src/plugins-bundled")
return public
}
// WithYarnCache mounts the given YarnCacheDir in the provided container
func WithYarnCache(container *dagger.Container, vol *dagger.CacheVolume) *dagger.Container {
yarnCacheDir := "/yarn/cache"
c := container.WithEnvVariable("YARN_CACHE_FOLDER", yarnCacheDir)
return c.WithMountedCache(yarnCacheDir, vol)
}