CI: move grabpl e2e tests from grabpl to grafana (#53075)
* move grabpl e2e tests
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
|
||||
"github.com/grafana/grafana/pkg/build/e2eutil"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
func EndToEndTests(c *cli.Context) error {
|
||||
var (
|
||||
tries = c.Int("tries")
|
||||
suite = c.String("suite")
|
||||
host = c.String("host")
|
||||
)
|
||||
|
||||
log.Printf("Running Grafana e2e tests")
|
||||
|
||||
port := c.Int("port")
|
||||
env := append(os.Environ(), fmt.Sprintf("PORT=%d", port))
|
||||
|
||||
grafanaServer := e2eutil.Server(host, port)
|
||||
// TODO implement grafanaServer.Start()
|
||||
grafanaServer.Wait()
|
||||
|
||||
var err error
|
||||
for i := 0; i < tries; i++ {
|
||||
log.Printf("Running e2e test suite attempt #%d", i+1)
|
||||
//nolint:gosec
|
||||
cmd := exec.Command("./e2e/run-suite", suite)
|
||||
cmd.Env = env
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
err = cmd.Run()
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
log.Printf("Running the test suite failed: %s", err)
|
||||
}
|
||||
if err != nil {
|
||||
return cli.Exit(fmt.Sprintf("e2e tests failed: %s", err), 1)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -20,6 +20,11 @@ var (
|
||||
Name: "variants",
|
||||
Usage: "Comma-separated list of variants to build",
|
||||
}
|
||||
triesFlag = cli.IntFlag{
|
||||
Name: "tries",
|
||||
Usage: "Specify number of tries before failing",
|
||||
Value: 1,
|
||||
}
|
||||
noInstallDepsFlag = cli.BoolFlag{
|
||||
Name: "no-install-deps",
|
||||
Usage: "Don't install dependencies",
|
||||
|
||||
@@ -25,6 +25,28 @@ func main() {
|
||||
&buildIDFlag,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "e2e-tests",
|
||||
Usage: "Run Grafana e2e tests",
|
||||
Action: EndToEndTests,
|
||||
Flags: []cli.Flag{
|
||||
&triesFlag,
|
||||
&cli.IntFlag{
|
||||
Name: "port",
|
||||
Value: 3001,
|
||||
Usage: "Specify the server port",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "suite",
|
||||
Usage: "Specify the end-to-end tests suite to be used",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "host",
|
||||
Value: "grafana-server",
|
||||
Usage: "Specify the server host",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "build-frontend",
|
||||
Usage: "Build front-end artifacts",
|
||||
|
||||
Reference in New Issue
Block a user