From ae7f5953c56ace68b593dfa42f8f5dd1f220fef5 Mon Sep 17 00:00:00 2001 From: miki Date: Thu, 2 Feb 2023 17:37:55 +0000 Subject: [PATCH] CI: expose test logs Needed to debug test failures --- .github/workflows/go.yml | 7 +++++++ internal/e2etests/e2e_test.go | 14 +++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 5056a137..e55fed25 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -26,3 +26,10 @@ jobs: - name: Test run: | ./goclean.sh + - name: Upload logs if tests failed + if: failure() + uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 + with: + name: ${{matrix.go}}-test-logs + path: /tmp/br* + diff --git a/internal/e2etests/e2e_test.go b/internal/e2etests/e2e_test.go index 6bd9b03f..e9abc982 100644 --- a/internal/e2etests/e2e_test.go +++ b/internal/e2etests/e2e_test.go @@ -189,8 +189,20 @@ func (ts *testScaffold) newClientWithOpts(name string, rootDir string, logBknd := func(subsys string) slog.Logger { return slog.Disabled } if ts.showLog { logBknd = testutils.TestLoggerBackend(ts.t, name) - dbLog = logBknd("FSDB") + } else { + logf, err := os.Create(filepath.Join(rootDir, "applog.log")) + if err != nil { + ts.t.Fatalf("unable to create log file: %v", err) + } + bknd := slog.NewBackend(logf) + logBknd = func(subsys string) slog.Logger { + logger := bknd.Logger(subsys) + logger.SetLevel(slog.LevelTrace) + return logger + } + ts.t.Cleanup(func() { logf.Close() }) } + dbLog = logBknd("FSDB") idIniter := func(context.Context) (*zkidentity.FullIdentity, error) { c := new(zkidentity.FullIdentity)