From 654f252389c2d54c00e868ca93c3fc55507fa909 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Tue, 11 Nov 2025 14:34:12 +0100 Subject: [PATCH 1/3] inject readmeUpdater as dependency for builder.BuildPackage --- cmd/build.go | 11 ++---- internal/builder/packages.go | 41 +++++++++++++-------- internal/packages/archetype/package_test.go | 8 +--- internal/packages/installer/factory.go | 5 ++- 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index e56c8a3da..542e91717 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -80,24 +80,19 @@ func buildCommandAction(cmd *cobra.Command, args []string) error { } logger.Debugf("Use build directory: %s", buildDir) - target, err := builder.BuildPackage(cmd.Context(), builder.BuildOptions{ + target, updatedReadmeTargets, err := builder.BuildPackage(cmd.Context(), builder.BuildOptions{ PackageRootPath: packageRoot, BuildDir: buildDir, CreateZip: createZip, SignPackage: signPackage, SkipValidation: skipValidation, RepositoryRoot: repositoryRoot, - }) + }, docs.UpdateReadmes) if err != nil { return fmt.Errorf("building package failed: %w", err) } - targets, err := docs.UpdateReadmes(repositoryRoot, packageRoot, buildDir) - if err != nil { - return fmt.Errorf("updating files failed: %w", err) - } - - for _, target := range targets { + for _, target := range updatedReadmeTargets { fileName := filepath.Base(target) cmd.Printf("%s file rendered: %s\n", fileName, target) } diff --git a/internal/builder/packages.go b/internal/builder/packages.go index 924497036..8fa44ec66 100644 --- a/internal/builder/packages.go +++ b/internal/builder/packages.go @@ -162,33 +162,35 @@ func FindBuildPackagesDirectory() (string, bool, error) { return "", false, nil } +type readmeUpdaterFunc func(repositoryRoot *os.Root, packageRoot string, buildDir string) ([]string, error) + // BuildPackage function builds the package. -func BuildPackage(ctx context.Context, options BuildOptions) (string, error) { +func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readmeUpdaterFunc) (string, []string, error) { // builtPackageDir is the directory where the built package content is placed // eg. /packages// builtPackageDir, err := BuildPackagesDirectory(options.PackageRootPath, options.BuildDir) if err != nil { - return "", fmt.Errorf("can't locate build directory: %w", err) + return "", nil, fmt.Errorf("can't locate build directory: %w", err) } logger.Debugf("Build directory: %s\n", builtPackageDir) logger.Debugf("Clear target directory (path: %s)", builtPackageDir) err = files.ClearDir(builtPackageDir) if err != nil { - return "", fmt.Errorf("clearing package contents failed: %w", err) + return "", nil, fmt.Errorf("clearing package contents failed: %w", err) } logger.Debugf("Copy package content (source: %s)", options.PackageRootPath) err = files.CopyWithoutDev(options.PackageRootPath, builtPackageDir) if err != nil { - return "", fmt.Errorf("copying package contents failed: %w", err) + return "", nil, fmt.Errorf("copying package contents failed: %w", err) } logger.Debug("Copy license file if needed") destinationLicenseFilePath := filepath.Join(builtPackageDir, licenseTextFileName) err = copyLicenseTextFile(options.RepositoryRoot, destinationLicenseFilePath) if err != nil { - return "", fmt.Errorf("copying license text file: %w", err) + return "", nil, fmt.Errorf("copying license text file: %w", err) } // when CopyWithoutDev is used, .link files are skipped. @@ -196,12 +198,12 @@ func BuildPackage(ctx context.Context, options BuildOptions) (string, error) { logger.Debug("Include linked files") linksFS, err := files.CreateLinksFSFromPath(options.RepositoryRoot, options.PackageRootPath) if err != nil { - return "", fmt.Errorf("creating links filesystem failed: %w", err) + return "", nil, fmt.Errorf("creating links filesystem failed: %w", err) } links, err := linksFS.IncludeLinkedFiles(builtPackageDir) if err != nil { - return "", fmt.Errorf("including linked files failed: %w", err) + return "", nil, fmt.Errorf("including linked files failed: %w", err) } for _, l := range links { logger.Debugf("Linked file included (path: %s)", l.TargetRelPath) @@ -210,32 +212,41 @@ func BuildPackage(ctx context.Context, options BuildOptions) (string, error) { logger.Debug("Encode dashboards") err = encodeDashboards(builtPackageDir) if err != nil { - return "", fmt.Errorf("encoding dashboards failed: %w", err) + return "", nil, fmt.Errorf("encoding dashboards failed: %w", err) } logger.Debug("Resolve external fields") err = resolveExternalFields(options.PackageRootPath, builtPackageDir) if err != nil { - return "", fmt.Errorf("resolving external fields failed: %w", err) + return "", nil, fmt.Errorf("resolving external fields failed: %w", err) } err = addDynamicMappings(options.PackageRootPath, builtPackageDir) if err != nil { - return "", fmt.Errorf("adding dynamic mappings: %w", err) + return "", nil, fmt.Errorf("adding dynamic mappings: %w", err) } err = resolveTransformDefinitions(builtPackageDir) if err != nil { - return "", fmt.Errorf("resolving transform manifests failed: %w", err) + return "", nil, fmt.Errorf("resolving transform manifests failed: %w", err) + } + + updatedReadmesTargets, err := readmeUpdater(options.RepositoryRoot, options.PackageRootPath, options.BuildDir) + if err != nil { + return "", nil, fmt.Errorf("updating readme files failed: %w", err) } if options.CreateZip { - return buildZippedPackage(ctx, options, builtPackageDir) + target, err := buildZippedPackage(ctx, options, builtPackageDir) + if err != nil { + return "", nil, err + } + return target, updatedReadmesTargets, nil } if options.SkipValidation { logger.Debug("Skip validation of the built package") - return builtPackageDir, nil + return builtPackageDir, nil, nil } logger.Debugf("Validating built package (path: %s)", builtPackageDir) @@ -244,9 +255,9 @@ func BuildPackage(ctx context.Context, options BuildOptions) (string, error) { logger.Infof("Skipped errors: %v", skipped) } if errs != nil { - return "", fmt.Errorf("invalid content found in built package: %w", errs) + return "", nil, fmt.Errorf("invalid content found in built package: %w", errs) } - return builtPackageDir, nil + return builtPackageDir, updatedReadmesTargets, nil } // buildZippedPackage function builds the zipped package from the builtPackageDir and stores it in buildPackagesDir. diff --git a/internal/packages/archetype/package_test.go b/internal/packages/archetype/package_test.go index 5f739d91a..108ed04b7 100644 --- a/internal/packages/archetype/package_test.go +++ b/internal/packages/archetype/package_test.go @@ -100,16 +100,12 @@ func buildPackage(t *testing.T, repositoryRoot *os.Root, packageRootPath string) buildDir := filepath.Join(repositoryRoot.Name(), "build") err := os.MkdirAll(buildDir, 0o755) require.NoError(t, err) - _, err = docs.UpdateReadmes(repositoryRoot, packageRootPath, buildDir) - if err != nil { - return err - } - _, err = builder.BuildPackage(t.Context(), builder.BuildOptions{ + _, _, err = builder.BuildPackage(t.Context(), builder.BuildOptions{ PackageRootPath: packageRootPath, BuildDir: buildDir, RepositoryRoot: repositoryRoot, - }) + }, docs.UpdateReadmes) return err } diff --git a/internal/packages/installer/factory.go b/internal/packages/installer/factory.go index ec278e6c5..d405e7577 100644 --- a/internal/packages/installer/factory.go +++ b/internal/packages/installer/factory.go @@ -85,12 +85,15 @@ func NewForPackage(ctx context.Context, options Options) (Installer, error) { return CreateForZip(options.Kibana, options.ZipPath) } - target, err := builder.BuildPackage(ctx, builder.BuildOptions{ + target, _, err := builder.BuildPackage(ctx, builder.BuildOptions{ PackageRootPath: options.PackageRootPath, CreateZip: supportsUploadZip, SignPackage: false, SkipValidation: options.SkipValidation, RepositoryRoot: options.RepositoryRoot, + }, func(repositoryRoot *os.Root, packageRootPath, buildDir string) ([]string, error) { + // noop readme updater + return nil, nil }) if err != nil { return nil, fmt.Errorf("failed to build package: %v", err) From 761f7fe3f8b1b5c6a54e06d463ce681a76cc1359 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Wed, 12 Nov 2025 11:19:58 +0100 Subject: [PATCH 2/3] refactor UpdateReades to return error and log internally the rendered files --- cmd/build.go | 8 +---- internal/builder/packages.go | 38 ++++++++++----------- internal/docs/readme.go | 15 ++++---- internal/packages/archetype/package_test.go | 2 +- internal/packages/installer/factory.go | 6 ++-- 5 files changed, 32 insertions(+), 37 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 542e91717..2441d8bdf 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -7,7 +7,6 @@ package cmd import ( "errors" "fmt" - "path/filepath" "github.com/spf13/cobra" @@ -80,7 +79,7 @@ func buildCommandAction(cmd *cobra.Command, args []string) error { } logger.Debugf("Use build directory: %s", buildDir) - target, updatedReadmeTargets, err := builder.BuildPackage(cmd.Context(), builder.BuildOptions{ + target, err := builder.BuildPackage(cmd.Context(), builder.BuildOptions{ PackageRootPath: packageRoot, BuildDir: buildDir, CreateZip: createZip, @@ -92,11 +91,6 @@ func buildCommandAction(cmd *cobra.Command, args []string) error { return fmt.Errorf("building package failed: %w", err) } - for _, target := range updatedReadmeTargets { - fileName := filepath.Base(target) - cmd.Printf("%s file rendered: %s\n", fileName, target) - } - cmd.Printf("Package built: %s\n", target) cmd.Println("Done") diff --git a/internal/builder/packages.go b/internal/builder/packages.go index 8fa44ec66..13227113b 100644 --- a/internal/builder/packages.go +++ b/internal/builder/packages.go @@ -162,35 +162,35 @@ func FindBuildPackagesDirectory() (string, bool, error) { return "", false, nil } -type readmeUpdaterFunc func(repositoryRoot *os.Root, packageRoot string, buildDir string) ([]string, error) +type readmeUpdaterFunc func(repositoryRoot *os.Root, packageRoot string, buildDir string) error // BuildPackage function builds the package. -func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readmeUpdaterFunc) (string, []string, error) { +func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readmeUpdaterFunc) (string, error) { // builtPackageDir is the directory where the built package content is placed // eg. /packages// builtPackageDir, err := BuildPackagesDirectory(options.PackageRootPath, options.BuildDir) if err != nil { - return "", nil, fmt.Errorf("can't locate build directory: %w", err) + return "", fmt.Errorf("can't locate build directory: %w", err) } logger.Debugf("Build directory: %s\n", builtPackageDir) logger.Debugf("Clear target directory (path: %s)", builtPackageDir) err = files.ClearDir(builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("clearing package contents failed: %w", err) + return "", fmt.Errorf("clearing package contents failed: %w", err) } logger.Debugf("Copy package content (source: %s)", options.PackageRootPath) err = files.CopyWithoutDev(options.PackageRootPath, builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("copying package contents failed: %w", err) + return "", fmt.Errorf("copying package contents failed: %w", err) } logger.Debug("Copy license file if needed") destinationLicenseFilePath := filepath.Join(builtPackageDir, licenseTextFileName) err = copyLicenseTextFile(options.RepositoryRoot, destinationLicenseFilePath) if err != nil { - return "", nil, fmt.Errorf("copying license text file: %w", err) + return "", fmt.Errorf("copying license text file: %w", err) } // when CopyWithoutDev is used, .link files are skipped. @@ -198,12 +198,12 @@ func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readm logger.Debug("Include linked files") linksFS, err := files.CreateLinksFSFromPath(options.RepositoryRoot, options.PackageRootPath) if err != nil { - return "", nil, fmt.Errorf("creating links filesystem failed: %w", err) + return "", fmt.Errorf("creating links filesystem failed: %w", err) } links, err := linksFS.IncludeLinkedFiles(builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("including linked files failed: %w", err) + return "", fmt.Errorf("including linked files failed: %w", err) } for _, l := range links { logger.Debugf("Linked file included (path: %s)", l.TargetRelPath) @@ -212,41 +212,41 @@ func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readm logger.Debug("Encode dashboards") err = encodeDashboards(builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("encoding dashboards failed: %w", err) + return "", fmt.Errorf("encoding dashboards failed: %w", err) } logger.Debug("Resolve external fields") err = resolveExternalFields(options.PackageRootPath, builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("resolving external fields failed: %w", err) + return "", fmt.Errorf("resolving external fields failed: %w", err) } err = addDynamicMappings(options.PackageRootPath, builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("adding dynamic mappings: %w", err) + return "", fmt.Errorf("adding dynamic mappings: %w", err) } err = resolveTransformDefinitions(builtPackageDir) if err != nil { - return "", nil, fmt.Errorf("resolving transform manifests failed: %w", err) + return "", fmt.Errorf("resolving transform manifests failed: %w", err) } - updatedReadmesTargets, err := readmeUpdater(options.RepositoryRoot, options.PackageRootPath, options.BuildDir) + err = readmeUpdater(options.RepositoryRoot, options.PackageRootPath, options.BuildDir) if err != nil { - return "", nil, fmt.Errorf("updating readme files failed: %w", err) + return "", fmt.Errorf("updating readme files failed: %w", err) } if options.CreateZip { target, err := buildZippedPackage(ctx, options, builtPackageDir) if err != nil { - return "", nil, err + return "", err } - return target, updatedReadmesTargets, nil + return target, nil } if options.SkipValidation { logger.Debug("Skip validation of the built package") - return builtPackageDir, nil, nil + return builtPackageDir, nil } logger.Debugf("Validating built package (path: %s)", builtPackageDir) @@ -255,9 +255,9 @@ func BuildPackage(ctx context.Context, options BuildOptions, readmeUpdater readm logger.Infof("Skipped errors: %v", skipped) } if errs != nil { - return "", nil, fmt.Errorf("invalid content found in built package: %w", errs) + return "", fmt.Errorf("invalid content found in built package: %w", errs) } - return builtPackageDir, updatedReadmesTargets, nil + return builtPackageDir, nil } // buildZippedPackage function builds the zipped package from the builtPackageDir and stores it in buildPackagesDir. diff --git a/internal/docs/readme.go b/internal/docs/readme.go index 39791172e..2f2a6721a 100644 --- a/internal/docs/readme.go +++ b/internal/docs/readme.go @@ -100,30 +100,31 @@ func isReadmeUpToDate(fileName, linksFilePath, packageRoot string) (bool, string // UpdateReadmes function updates all .md readme files using a defined template // files. The function doesn't perform any action if the template file is not present. -func UpdateReadmes(repositoryRoot *os.Root, packageRoot, buildDir string) ([]string, error) { +func UpdateReadmes(repositoryRoot *os.Root, packageRoot, buildDir string) error { linksFilePath, err := linksDefinitionsFilePath(repositoryRoot) if err != nil { - return nil, fmt.Errorf("locating links file failed: %w", err) + return fmt.Errorf("locating links file failed: %w", err) } readmeFiles, err := filepath.Glob(filepath.Join(packageRoot, "_dev", "build", "docs", "*.md")) if err != nil { - return nil, fmt.Errorf("reading directory entries failed: %w", err) + return fmt.Errorf("reading directory entries failed: %w", err) } - var targets []string for _, filePath := range readmeFiles { fileName := filepath.Base(filePath) target, err := updateReadme(fileName, linksFilePath, packageRoot, buildDir) if err != nil { - return nil, fmt.Errorf("updating readme file %s failed: %w", fileName, err) + return fmt.Errorf("updating readme file %s failed: %w", fileName, err) } + // Log only when a file has been rendered/updated. if target != "" { - targets = append(targets, target) + fileName := filepath.Base(target) + fmt.Printf("%s file rendered: %s\n", fileName, target) } } - return targets, nil + return nil } // updateReadme function updates a single readme file using a defined template file. diff --git a/internal/packages/archetype/package_test.go b/internal/packages/archetype/package_test.go index 108ed04b7..8c44ed95a 100644 --- a/internal/packages/archetype/package_test.go +++ b/internal/packages/archetype/package_test.go @@ -101,7 +101,7 @@ func buildPackage(t *testing.T, repositoryRoot *os.Root, packageRootPath string) err := os.MkdirAll(buildDir, 0o755) require.NoError(t, err) - _, _, err = builder.BuildPackage(t.Context(), builder.BuildOptions{ + _, err = builder.BuildPackage(t.Context(), builder.BuildOptions{ PackageRootPath: packageRootPath, BuildDir: buildDir, RepositoryRoot: repositoryRoot, diff --git a/internal/packages/installer/factory.go b/internal/packages/installer/factory.go index d405e7577..fe772d185 100644 --- a/internal/packages/installer/factory.go +++ b/internal/packages/installer/factory.go @@ -85,15 +85,15 @@ func NewForPackage(ctx context.Context, options Options) (Installer, error) { return CreateForZip(options.Kibana, options.ZipPath) } - target, _, err := builder.BuildPackage(ctx, builder.BuildOptions{ + target, err := builder.BuildPackage(ctx, builder.BuildOptions{ PackageRootPath: options.PackageRootPath, CreateZip: supportsUploadZip, SignPackage: false, SkipValidation: options.SkipValidation, RepositoryRoot: options.RepositoryRoot, - }, func(repositoryRoot *os.Root, packageRootPath, buildDir string) ([]string, error) { + }, func(repositoryRoot *os.Root, packageRootPath, buildDir string) error { // noop readme updater - return nil, nil + return nil }) if err != nil { return nil, fmt.Errorf("failed to build package: %v", err) From 6caf9b30b9a14c7a0d04ec99f09a0565e51bde81 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Wed, 12 Nov 2025 14:16:28 +0100 Subject: [PATCH 3/3] pass UpdateReadmes option to BuildPackage, remove cycle dep between docs and builder --- cmd/build.go | 4 ++-- internal/builder/packages.go | 14 ++++++++------ internal/docs/readme.go | 12 +++--------- internal/packages/archetype/package_test.go | 4 ++-- internal/packages/installer/factory.go | 4 +--- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 1d00d88b8..cf36f48be 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -12,7 +12,6 @@ import ( "github.com/elastic/elastic-package/internal/builder" "github.com/elastic/elastic-package/internal/cobraext" - "github.com/elastic/elastic-package/internal/docs" "github.com/elastic/elastic-package/internal/files" "github.com/elastic/elastic-package/internal/logger" "github.com/elastic/elastic-package/internal/packages" @@ -86,7 +85,8 @@ func buildCommandAction(cmd *cobra.Command, args []string) error { SignPackage: signPackage, SkipValidation: skipValidation, RepositoryRoot: repositoryRoot, - }, docs.UpdateReadmes) + UpdateReadmes: true, + }) if err != nil { return fmt.Errorf("building package failed: %w", err) } diff --git a/internal/builder/packages.go b/internal/builder/packages.go index 1a07090c2..708751028 100644 --- a/internal/builder/packages.go +++ b/internal/builder/packages.go @@ -12,6 +12,7 @@ import ( "github.com/magefile/mage/sh" + "github.com/elastic/elastic-package/internal/docs" "github.com/elastic/elastic-package/internal/environment" "github.com/elastic/elastic-package/internal/files" "github.com/elastic/elastic-package/internal/logger" @@ -32,6 +33,7 @@ type BuildOptions struct { CreateZip bool SignPackage bool SkipValidation bool + UpdateReadmes bool } // BuildDirectory function locates the target build directory. If the directory doesn't exist, it will create it. @@ -161,10 +163,8 @@ func FindBuildPackagesDirectory() (string, bool, error) { return "", false, nil } -type readmeUpdaterFunc func(repositoryRoot *os.Root, packageRoot string, buildDir string) error - // BuildPackage function builds the package. -func BuildPackage(options BuildOptions, readmeUpdater readmeUpdaterFunc) (string, error) { +func BuildPackage(options BuildOptions) (string, error) { // builtPackageDir is the directory where the built package content is placed // eg. /packages// builtPackageDir, err := BuildPackagesDirectory(options.PackageRootPath, options.BuildDir) @@ -230,9 +230,11 @@ func BuildPackage(options BuildOptions, readmeUpdater readmeUpdaterFunc) (string return "", fmt.Errorf("resolving transform manifests failed: %w", err) } - err = readmeUpdater(options.RepositoryRoot, options.PackageRootPath, options.BuildDir) - if err != nil { - return "", fmt.Errorf("updating readme files failed: %w", err) + if options.UpdateReadmes { + err = docs.UpdateReadmes(options.RepositoryRoot, options.PackageRootPath, builtPackageDir) + if err != nil { + return "", fmt.Errorf("updating readme files failed: %w", err) + } } if options.CreateZip { diff --git a/internal/docs/readme.go b/internal/docs/readme.go index 2f2a6721a..c92eeccdb 100644 --- a/internal/docs/readme.go +++ b/internal/docs/readme.go @@ -14,7 +14,6 @@ import ( "github.com/pmezard/go-difflib/difflib" - "github.com/elastic/elastic-package/internal/builder" "github.com/elastic/elastic-package/internal/logger" ) @@ -100,7 +99,7 @@ func isReadmeUpToDate(fileName, linksFilePath, packageRoot string) (bool, string // UpdateReadmes function updates all .md readme files using a defined template // files. The function doesn't perform any action if the template file is not present. -func UpdateReadmes(repositoryRoot *os.Root, packageRoot, buildDir string) error { +func UpdateReadmes(repositoryRoot *os.Root, packageRoot, packageBuildRoot string) error { linksFilePath, err := linksDefinitionsFilePath(repositoryRoot) if err != nil { return fmt.Errorf("locating links file failed: %w", err) @@ -113,7 +112,7 @@ func UpdateReadmes(repositoryRoot *os.Root, packageRoot, buildDir string) error for _, filePath := range readmeFiles { fileName := filepath.Base(filePath) - target, err := updateReadme(fileName, linksFilePath, packageRoot, buildDir) + target, err := updateReadme(fileName, linksFilePath, packageRoot, packageBuildRoot) if err != nil { return fmt.Errorf("updating readme file %s failed: %w", fileName, err) } @@ -129,14 +128,9 @@ func UpdateReadmes(repositoryRoot *os.Root, packageRoot, buildDir string) error // updateReadme function updates a single readme file using a defined template file. // It writes the rendered file to both the package directory and the package build directory. -func updateReadme(fileName, linksFilePath, packageRoot, buildDir string) (string, error) { +func updateReadme(fileName, linksFilePath, packageRoot, packageBuildRoot string) (string, error) { logger.Debugf("Update the %s file", fileName) - packageBuildRoot, err := builder.BuildPackagesDirectory(packageRoot, buildDir) - if err != nil { - return "", fmt.Errorf("package build root not found: %w", err) - } - rendered, shouldBeRendered, err := generateReadme(fileName, linksFilePath, packageRoot, packageBuildRoot) if err != nil { return "", err diff --git a/internal/packages/archetype/package_test.go b/internal/packages/archetype/package_test.go index 5f42f51dc..f24ef0543 100644 --- a/internal/packages/archetype/package_test.go +++ b/internal/packages/archetype/package_test.go @@ -13,7 +13,6 @@ import ( "github.com/stretchr/testify/require" "github.com/elastic/elastic-package/internal/builder" - "github.com/elastic/elastic-package/internal/docs" "github.com/elastic/elastic-package/internal/packages" ) @@ -105,7 +104,8 @@ func buildPackage(t *testing.T, repositoryRoot *os.Root, packageRootPath string) PackageRootPath: packageRootPath, BuildDir: buildDir, RepositoryRoot: repositoryRoot, - }, docs.UpdateReadmes) + UpdateReadmes: true, + }) return err } diff --git a/internal/packages/installer/factory.go b/internal/packages/installer/factory.go index 1ebc53fa2..546cf8211 100644 --- a/internal/packages/installer/factory.go +++ b/internal/packages/installer/factory.go @@ -91,9 +91,7 @@ func NewForPackage(options Options) (Installer, error) { SignPackage: false, SkipValidation: options.SkipValidation, RepositoryRoot: options.RepositoryRoot, - }, func(repositoryRoot *os.Root, packageRootPath, buildDir string) error { - // noop readme updater - return nil + UpdateReadmes: false, }) if err != nil { return nil, fmt.Errorf("failed to build package: %v", err)