Skip to content

Commit cee2a1e

Browse files
authored
internal/testrunner/script: use repository root for RepositoryRoot (#3323)
addPackage and removePackage used os.OpenRoot(pkgRoot) to create the RepositoryRoot passed to the package builder. This scoped filesystem access to the package directory, not the repository root. When CI sets ELASTIC_PACKAGE_REPOSITORY_LICENSE, the builder tries to read licenses/Elastic-2.0.txt via the sandboxed os.Root, which cannot traverse above the package directory. Replace os.OpenRoot with files.FindRepositoryRootFrom, which walks up from the given path to find .git and opens an os.Root there. Fixes #3321
1 parent c8d48ae commit cee2a1e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

‎internal/testrunner/script/package.go‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import (
99
"encoding/json"
1010
"flag"
1111
"fmt"
12-
"os"
1312

1413
"github.com/rogpeppe/go-internal/testscript"
1514

1615
"github.com/elastic/elastic-package/internal/fields"
16+
"github.com/elastic/elastic-package/internal/files"
1717
"github.com/elastic/elastic-package/internal/packages"
1818
"github.com/elastic/elastic-package/internal/resources"
1919
)
@@ -25,7 +25,7 @@ func addPackage(ts *testscript.TestScript, neg bool, args []string) {
2525
if pkgRoot == "" {
2626
ts.Fatalf("PACKAGE_ROOT is not set")
2727
}
28-
root, err := os.OpenRoot(pkgRoot)
28+
root, err := files.FindRepositoryRootFrom(pkgRoot)
2929
ts.Check(err)
3030
pkg := ts.Getenv("PACKAGE_NAME")
3131
if pkg == "" {
@@ -82,7 +82,7 @@ func removePackage(ts *testscript.TestScript, neg bool, args []string) {
8282
if pkgRoot == "" {
8383
ts.Fatalf("PACKAGE_ROOT is not set")
8484
}
85-
root, err := os.OpenRoot(pkgRoot)
85+
root, err := files.FindRepositoryRootFrom(pkgRoot)
8686
ts.Check(err)
8787
pkg := ts.Getenv("PACKAGE_NAME")
8888
if pkg == "" {

0 commit comments

Comments
 (0)