Merge "v.io/jiri: remove support for old style profiles"
diff --git a/data/config.v1.xml b/data/config.v1.xml
index df7939d..3862c5c 100644
--- a/data/config.v1.xml
+++ b/data/config.v1.xml
@@ -232,6 +232,9 @@
<test>vanadium-js-vom</test>
</group>
<group name="mojo">
+ <!-- NOTE(caprita): this is flaky. See v.io/i/1240
+ <test>vanadium-mojo-discovery-test</test>
+ -->
<test>vanadium-mojo-syncbase-test</test>
<test>vanadium-mojo-v23proxy-unit-test</test>
<!-- NOTE(caprita): this is flaky. See v.io/i/1226
diff --git a/data/oncall.v1.xml b/data/oncall.v1.xml
index 960f50e..087f553 100644
--- a/data/oncall.v1.xml
+++ b/data/oncall.v1.xml
@@ -19,7 +19,7 @@
<startDate>Mar 21, 2016 08:00:00 AM</startDate>
</shift>
<shift>
- <primary>jyh</primary>
+ <primary>afergan</primary>
<secondary>alexfandrianto</secondary>
<startDate>Mar 28, 2016 08:00:00 AM</startDate>
</shift>
@@ -50,11 +50,11 @@
</shift>
<shift>
<primary>nlacasse</primary>
- <secondary>p</secondary>
+ <secondary>suharshs</secondary>
<startDate>May 09, 2016 08:00:00 AM</startDate>
</shift>
<shift>
- <primary>p</primary>
+ <primary>suharshs</primary>
<secondary>nlacasse</secondary>
<startDate>May 16, 2016 08:00:00 AM</startDate>
</shift>
diff --git a/jiri-test/internal/test/mojo.go b/jiri-test/internal/test/mojo.go
index 28c60b2..dc8db62 100644
--- a/jiri-test/internal/test/mojo.go
+++ b/jiri-test/internal/test/mojo.go
@@ -16,8 +16,17 @@
defaultMojoTestTimeout = 10 * time.Minute
)
-// vanadiumMojoSyncbaseTest runs the tests for the Vanadium Mojo Syncbase
-// service.
+// vanadiumMojoDiscoveryTest runs the tests for the Vanadium Mojo Discovery service.
+func vanadiumMojoDiscoveryTest(jirix *jiri.X, testName string, _ ...Opt) (*test.Result, error) {
+ testDir := filepath.Join(jirix.Root, "release", "mojo", "discovery")
+ if r, err := runMakefileTest(jirix, testName, testDir, "test", nil, []string{"v23:mojo", "v23:dart"}, defaultMojoTestTimeout); err != nil {
+ return r, err
+ }
+ // For android, just make sure that everything builds.
+ return runMakefileTest(jirix, testName, testDir, "build", map[string]string{"ANDROID": "1"}, []string{"v23:mojo", "v23:android"}, defaultMojoTestTimeout)
+}
+
+// vanadiumMojoSyncbaseTest runs the tests for the Vanadium Mojo Syncbase service.
func vanadiumMojoSyncbaseTest(jirix *jiri.X, testName string, _ ...Opt) (*test.Result, error) {
testDir := filepath.Join(jirix.Root, "release", "mojo", "syncbase")
return runMakefileTest(jirix, testName, testDir, "test", nil, []string{"v23:dart", "v23:mojo"}, defaultMojoTestTimeout)
diff --git a/jiri-test/internal/test/prod.go b/jiri-test/internal/test/prod.go
index 7dd9b19..0daa78a 100644
--- a/jiri-test/internal/test/prod.go
+++ b/jiri-test/internal/test/prod.go
@@ -219,7 +219,7 @@
s := jirix.NewSeq()
dir := filepath.Join(tmpdir, "credentials")
bin := filepath.Join(jirix.Root, "release", "go", "bin", "principal")
- if err := s.Timeout(test.DefaultTimeout).Last(bin, "create", dir, "prod-services-tester"); err != nil {
+ if err := s.Timeout(test.DefaultTimeout).Last(bin, "create", "-with-passphrase=false", dir, "prod-services-tester"); err != nil {
fmt.Fprintf(jirix.Stderr(), "principal create failed: %v\n", err)
return "", err
}
diff --git a/jiri-test/internal/test/release.go b/jiri-test/internal/test/release.go
index 44bda1f..375b9cc 100644
--- a/jiri-test/internal/test/release.go
+++ b/jiri-test/internal/test/release.go
@@ -7,7 +7,6 @@
import (
"bytes"
"fmt"
- "io"
"os"
"path/filepath"
"regexp"
@@ -44,6 +43,14 @@
defaultReleaseTestTimeout = time.Minute * 5
manifestRE = regexp.MustCompile(`^devmgr/.*<manifest snapshotpath="manifest/(.*)">`)
+ toolsPackages = []string{
+ "v.io/x/ref/services/agent/gcreds/",
+ "v.io/x/ref/services/agent/vbecome/",
+ "v.io/x/ref/services/debug/debug/",
+ "v.io/x/ref/services/device/device/",
+ "v.io/x/devtools/vbinary/",
+ }
+
serviceBinaries = []string{
"applicationd",
"binaryd",
@@ -85,16 +92,16 @@
}
}
-// buildVanadiumBinaries builds all vanadium binaries.
-func (u *updater) buildVanadiumBinaries() error {
+// buildBinaries builds binaries for the given package pattern.
+func (u *updater) buildBinaries(pkgs ...string) error {
s := u.jirix.NewSeq()
args := []string{
"jiri",
"go",
"install",
"-tags=leveldb",
- "v.io/...",
}
+ args = append(args, pkgs...)
u.outputCmd(args)
return s.Last(args[0], args[1:]...)
}
@@ -138,11 +145,13 @@
func (u *updater) downloadReleaseBinaries(binDir string) error {
s := u.jirix.NewSeq()
args := []string{
+ u.bin("vbinary"),
"--release",
"download",
"--output-dir=" + binDir,
}
- return s.Last(u.bin("vbinary"), args...)
+ u.outputCmd(args)
+ return s.Last(args[0], args[1:]...)
}
// checkReleaseCandidateStatus checks whether the "latest" file in
@@ -153,11 +162,10 @@
s := u.jirix.NewSeq()
args := []string{
"cat",
- fmt.Sprintf("%s/latest"),
+ fmt.Sprintf("%s/latest", bucket),
}
var out bytes.Buffer
- stdout := io.MultiWriter(u.jirix.Stdout(), &out)
- if err := s.Capture(stdout, nil).Last("gsutil", args...); err != nil {
+ if err := s.Capture(&out, nil).Last("gsutil", args...); err != nil {
return "", err
}
t, err := time.Parse(rcTimeFormat, out.String())
@@ -168,6 +176,7 @@
if t.Year() != now.Year() || t.Month() != now.Month() || t.Day() != now.Day() {
return "", fmt.Errorf("Release candidate (%v) not done for today", t)
}
+ fmt.Fprintf(u.jirix.Stdout(), "Snapshot timestamp: %s\n", out.String())
return out.String(), nil
}
@@ -383,7 +392,7 @@
step{
msg: "Prepare binaries",
fn: func() error {
- if err := u.buildVanadiumBinaries(); err != nil {
+ if err := u.buildBinaries("v.io/..."); err != nil {
return err
}
return u.uploadVanadiumBinaries(rcTimestamp)
@@ -406,7 +415,7 @@
// vanadiumReleaseProduction updates binaries of production cloud services and runs tests for them.
func vanadiumReleaseProduction(jirix *jiri.X, testName string, opts ...Opt) (_ *test.Result, e error) {
- cleanup, err := initTest(jirix, testName, []string{"base"})
+ cleanup, err := initTest(jirix, testName, []string{"v23:base"})
if err != nil {
return nil, newInternalError(err, "Init")
}
@@ -421,13 +430,20 @@
defer u.jirix.NewSeq().RemoveAll(binDir)
// Make sure we got a release candidate today.
- rcTimestamp, err := u.checkReleaseCandidateStatus()
- if err != nil {
- return nil, newInternalError(err, "Check release candidate")
+ rcTimestamp := ""
+ if result, err := invoker(jirix, "Check release candidate status", func() error {
+ rcTimestamp, err = u.checkReleaseCandidateStatus()
+ return err
+ }); result != nil || err != nil {
+ return result, err
}
steps := []step{
step{
+ msg: "Prepare tools",
+ fn: func() error { return u.buildBinaries(toolsPackages...) },
+ },
+ step{
msg: "Download release binaries",
fn: func() error { return u.downloadReleaseBinaries(binDir) },
},
diff --git a/jiri-test/internal/test/release_kube.go b/jiri-test/internal/test/release_kube.go
new file mode 100644
index 0000000..8c10423
--- /dev/null
+++ b/jiri-test/internal/test/release_kube.go
@@ -0,0 +1,52 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package test
+
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+
+ "v.io/jiri"
+ "v.io/jiri/collect"
+ "v.io/x/devtools/internal/test"
+)
+
+func vanadiumReleaseKubeStaging(jirix *jiri.X, testName string, opts ...Opt) (_ *test.Result, e error) {
+ version := os.Getenv("SNAPSHOT_MANIFEST")
+ if version == "" {
+ return nil, fmt.Errorf("SNAPSHOT_MANIFEST environment variable not set")
+ }
+ return vanadiumReleaseKubeCommon(jirix, testName, "staging", version)
+}
+
+func vanadiumReleaseKubeProduction(jirix *jiri.X, testName string, opts ...Opt) (_ *test.Result, e error) {
+ return vanadiumReleaseKubeCommon(jirix, testName, "production", "")
+}
+
+func vanadiumReleaseKubeCommon(jirix *jiri.X, testName, updateType, version string) (_ *test.Result, e error) {
+ cleanup, err := initTest(jirix, testName, []string{"v23:base"})
+ if err != nil {
+ return nil, newInternalError(err, "Init")
+ }
+ defer collect.Error(func() error { return cleanup() }, &e)
+
+ // Build and run vprodupdater.
+ s := jirix.NewSeq()
+ if err := s.Last("jiri", "go", "install", "v.io/infrastructure/vprodupdater/"); err != nil {
+ return nil, newInternalError(err, "Build vprodupdater")
+ }
+ vprodupdaterBin := filepath.Join(jirix.Root, "infrastructure", "go", "bin", "vprodupdater")
+ args := []string{
+ fmt.Sprintf("-type=%s", updateType),
+ }
+ if version != "" {
+ args = append(args, fmt.Sprintf("-tag=%s", version))
+ }
+ if err := s.Last(vprodupdaterBin, args...); err != nil {
+ return nil, newInternalError(err, "Run vprodupdater")
+ }
+ return &test.Result{Status: test.Passed}, nil
+}
diff --git a/jiri-test/internal/test/run.go b/jiri-test/internal/test/run.go
index b670b69..d9ec6b7 100644
--- a/jiri-test/internal/test/run.go
+++ b/jiri-test/internal/test/run.go
@@ -119,6 +119,7 @@
"vanadium-js-vdl": vanadiumJSVdl,
"vanadium-js-vdl-audit": vanadiumJSVdlAudit,
"vanadium-js-vom": vanadiumJSVom,
+ "vanadium-mojo-discovery-test": vanadiumMojoDiscoveryTest,
"vanadium-mojo-syncbase-test": vanadiumMojoSyncbaseTest,
"vanadium-mojo-v23proxy-unit-test": vanadiumMojoV23ProxyUnitTest,
"vanadium-mojo-v23proxy-integration-test": vanadiumMojoV23ProxyIntegrationTest,
@@ -137,6 +138,8 @@
"vanadium-release-candidate": vanadiumReleaseCandidate,
"vanadium-release-candidate-snapshot": vanadiumReleaseCandidateSnapshot,
"vanadium-release-production": vanadiumReleaseProduction,
+ "vanadium-release-kube-staging": vanadiumReleaseKubeStaging,
+ "vanadium-release-kube-production": vanadiumReleaseKubeProduction,
"vanadium-signup-github": vanadiumSignupGithub,
"vanadium-signup-github-new": vanadiumSignupGithubNew,
"vanadium-signup-group": vanadiumSignupGroup,