aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots
diff options
context:
space:
mode:
authorGravatar Eric Boren <borenet@google.com>2017-06-14 15:25:31 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-15 13:10:59 +0000
commit7e3a36433786a3041c0284d62128f086f06151f3 (patch)
tree316424ca6103e5166318dce8458fe8ac9d24bf07 /infra/bots
parent277f7f240f127772f7aa158baefc503dca05cf08 (diff)
Fixes for internal repo infra tests
Bug: skia:6763 Change-Id: I51522693ec8b81ff3b7d4349808d0e6493c5dd5b Reviewed-on: https://skia-review.googlesource.com/19843 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Eric Boren <borenet@google.com>
Diffstat (limited to 'infra/bots')
-rw-r--r--infra/bots/gen_tasks.go56
-rw-r--r--infra/bots/recipes/infra.py6
2 files changed, 42 insertions, 20 deletions
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index c43689a2fe..7bc4274656 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -15,12 +15,15 @@ import (
"io/ioutil"
"os"
"path"
+ "path/filepath"
"regexp"
+ "runtime"
"sort"
"strings"
"time"
"github.com/skia-dev/glog"
+ "go.skia.org/infra/go/sklog"
"go.skia.org/infra/go/util"
"go.skia.org/infra/task_scheduler/go/specs"
)
@@ -333,6 +336,21 @@ func defaultSwarmDimensions(parts map[string]string) []string {
return rv
}
+// relpath returns the relative path to the given file from the config file.
+func relpath(f string) string {
+ _, filename, _, _ := runtime.Caller(0)
+ dir := path.Dir(filename)
+ rel := dir
+ if *cfgFile != "" {
+ rel = path.Dir(*cfgFile)
+ }
+ rv, err := filepath.Rel(rel, path.Join(dir, f))
+ if err != nil {
+ sklog.Fatal(err)
+ }
+ return rv
+}
+
// bundleRecipes generates the task to bundle and isolate the recipes.
func bundleRecipes(b *specs.TasksCfgBuilder) string {
b.MustAddTask(BUNDLE_RECIPES_NAME, &specs.TaskSpec{
@@ -343,7 +361,7 @@ func bundleRecipes(b *specs.TasksCfgBuilder) string {
fmt.Sprintf("buildername=%s", BUNDLE_RECIPES_NAME),
fmt.Sprintf("swarm_out_dir=%s", specs.PLACEHOLDER_ISOLATED_OUTDIR),
},
- Isolate: "bundle_recipes.isolate",
+ Isolate: relpath("bundle_recipes.isolate"),
Priority: 0.7,
})
return BUNDLE_RECIPES_NAME
@@ -383,7 +401,7 @@ func isolateCIPDAsset(b *specs.TasksCfgBuilder, name string) string {
b.MustGetCipdPackageFromAsset(ISOLATE_ASSET_MAPPING[name].cipdPkg),
},
Dimensions: linuxGceDimensions(),
- Isolate: ISOLATE_ASSET_MAPPING[name].isolateFile,
+ Isolate: relpath(ISOLATE_ASSET_MAPPING[name].isolateFile),
Priority: 0.7,
})
return name
@@ -479,7 +497,7 @@ func compile(b *specs.TasksCfgBuilder, name string, parts map[string]string) str
fmt.Sprintf("patch_issue=%s", specs.PLACEHOLDER_ISSUE),
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
- Isolate: "compile_skia.isolate",
+ Isolate: relpath("compile_skia.isolate"),
Priority: 0.8,
})
// All compile tasks are runnable as their own Job. Assert that the Job
@@ -510,7 +528,7 @@ func recreateSKPs(b *specs.TasksCfgBuilder, name string) string {
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
IoTimeout: 40 * time.Minute,
- Isolate: "compile_skia.isolate",
+ Isolate: relpath("compile_skia.isolate"),
Priority: 0.8,
})
return name
@@ -534,7 +552,7 @@ func updateMetaConfig(b *specs.TasksCfgBuilder, name string) string {
fmt.Sprintf("patch_issue=%s", specs.PLACEHOLDER_ISSUE),
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
- Isolate: "meta_config.isolate",
+ Isolate: relpath("meta_config.isolate"),
Priority: 0.8,
})
return name
@@ -559,7 +577,7 @@ func ctSKPs(b *specs.TasksCfgBuilder, name string) string {
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
IoTimeout: time.Hour,
- Isolate: "ct_skps_skia.isolate",
+ Isolate: relpath("ct_skps_skia.isolate"),
Priority: 0.8,
})
return name
@@ -583,7 +601,7 @@ func housekeeper(b *specs.TasksCfgBuilder, name, compileTaskName string) string
fmt.Sprintf("patch_issue=%s", specs.PLACEHOLDER_ISSUE),
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
- Isolate: "housekeeper_skia.isolate",
+ Isolate: relpath("housekeeper_skia.isolate"),
Priority: 0.8,
})
return name
@@ -606,7 +624,7 @@ func infra(b *specs.TasksCfgBuilder, name string) string {
fmt.Sprintf("patch_issue=%s", specs.PLACEHOLDER_ISSUE),
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
- Isolate: "infra_skia.isolate",
+ Isolate: relpath("infra_skia.isolate"),
Priority: 0.8,
})
return name
@@ -647,16 +665,16 @@ func test(b *specs.TasksCfgBuilder, name string, parts map[string]string, compil
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
},
IoTimeout: 40 * time.Minute,
- Isolate: "test_skia.isolate",
+ Isolate: relpath("test_skia.isolate"),
MaxAttempts: 1,
Priority: 0.8,
}
if useBundledRecipes(parts) {
s.Dependencies = append(s.Dependencies, BUNDLE_RECIPES_NAME)
if strings.Contains(parts["os"], "Win") {
- s.Isolate = "test_skia_bundled_win.isolate"
+ s.Isolate = relpath("test_skia_bundled_win.isolate")
} else {
- s.Isolate = "test_skia_bundled_unix.isolate"
+ s.Isolate = relpath("test_skia_bundled_unix.isolate")
}
}
if deps := getIsolatedCIPDDeps(parts); len(deps) > 0 {
@@ -693,7 +711,7 @@ func test(b *specs.TasksCfgBuilder, name string, parts map[string]string, compil
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
fmt.Sprintf("gs_bucket=%s", CONFIG.GsBucketGm),
},
- Isolate: "upload_dm_results.isolate",
+ Isolate: relpath("upload_dm_results.isolate"),
Priority: 0.8,
})
return uploadName
@@ -705,22 +723,22 @@ func test(b *specs.TasksCfgBuilder, name string, parts map[string]string, compil
// generated chain of tasks, which the Job should add as a dependency.
func perf(b *specs.TasksCfgBuilder, name string, parts map[string]string, compileTaskName string, pkgs []*specs.CipdPackage) string {
recipe := "perf"
- isolate := "perf_skia.isolate"
+ isolate := relpath("perf_skia.isolate")
if strings.Contains(parts["extra_config"], "Skpbench") {
recipe = "skpbench"
- isolate = "skpbench_skia.isolate"
+ isolate = relpath("skpbench_skia.isolate")
if useBundledRecipes(parts) {
if strings.Contains(parts["os"], "Win") {
- isolate = "skpbench_skia_bundled_win.isolate"
+ isolate = relpath("skpbench_skia_bundled_win.isolate")
} else {
- isolate = "skpbench_skia_bundled_unix.isolate"
+ isolate = relpath("skpbench_skia_bundled_unix.isolate")
}
}
} else if useBundledRecipes(parts) {
if strings.Contains(parts["os"], "Win") {
- isolate = "perf_skia_bundled_win.isolate"
+ isolate = relpath("perf_skia_bundled_win.isolate")
} else {
- isolate = "perf_skia_bundled_unix.isolate"
+ isolate = relpath("perf_skia_bundled_unix.isolate")
}
}
s := &specs.TaskSpec{
@@ -783,7 +801,7 @@ func perf(b *specs.TasksCfgBuilder, name string, parts map[string]string, compil
fmt.Sprintf("patch_set=%s", specs.PLACEHOLDER_PATCHSET),
fmt.Sprintf("gs_bucket=%s", CONFIG.GsBucketNano),
},
- Isolate: "upload_nano_results.isolate",
+ Isolate: relpath("upload_nano_results.isolate"),
Priority: 0.8,
})
return uploadName
diff --git a/infra/bots/recipes/infra.py b/infra/bots/recipes/infra.py
index 5482a7fb84..fac2c5d5b6 100644
--- a/infra/bots/recipes/infra.py
+++ b/infra/bots/recipes/infra.py
@@ -24,7 +24,11 @@ def RunSteps(api):
api.infra.update_go_deps()
# Run the infra tests.
- with api.context(cwd=api.vars.skia_dir, env=api.infra.go_env):
+ repo_name = api.properties['repository'].split('/')[-1]
+ if repo_name.endswith('.git'):
+ repo_name = repo_name[:-len('.git')]
+ with api.context(cwd=api.vars.checkout_root.join(repo_name),
+ env=api.infra.go_env):
api.step('infra_tests', cmd=['make', '-C', 'infra/bots', 'test'])