From c4a62f015e5662e7e7beb6328f0df718b485fd3c Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Fri, 10 Apr 2026 15:50:18 +0200 Subject: [PATCH 1/2] save Docker logs on LP tests failure --- .github/workflows/legacy-system-tests-nightly.yml | 7 ++++++- devenv/tests/logpoller/logpoller_test.go | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/legacy-system-tests-nightly.yml b/.github/workflows/legacy-system-tests-nightly.yml index 69fddaf6b98..36eae14f1c7 100644 --- a/.github/workflows/legacy-system-tests-nightly.yml +++ b/.github/workflows/legacy-system-tests-nightly.yml @@ -346,6 +346,11 @@ jobs: echo "Running tests for: $CHAINLINK_IMAGE, test: $TESTCMD" eval $TESTCMD + - name: Show Docker containers status + if: failure() + shell: bash + run: docker ps -a + - name: Upload Logs if: always() && steps.gate.outputs.should_run == 'true' uses: actions/upload-artifact@v7 @@ -353,7 +358,7 @@ jobs: name: container-logs-${{ matrix.logs_archive_name }}-${{ github.run_id }}-${{ github.run_attempt }} path: devenv/tests/${{ matrix.tests_dir }}/logs retention-days: 3 - + - name: Upload Go pprof if: always() uses: actions/upload-artifact@v7 diff --git a/devenv/tests/logpoller/logpoller_test.go b/devenv/tests/logpoller/logpoller_test.go index 4738d6907a1..26b17e73904 100644 --- a/devenv/tests/logpoller/logpoller_test.go +++ b/devenv/tests/logpoller/logpoller_test.go @@ -162,6 +162,11 @@ func executePollerTest(t *testing.T, cfg *Config, allowedLogMessages ...products t.Cleanup(func() { err := products.ScanLogs(l, products.DefaultSettings(allowedLogMessages...)) require.NoError(t, err, "Found concerning logs in Chainlink Node logs") + + if t.Failed() { + _, cErr := framework.SaveContainerLogs(fmt.Sprintf("%s-%s", framework.DefaultCTFLogsDir, t.Name())) + require.NoError(t, cErr) + } }) outputFile := "../../env-out.toml" @@ -328,6 +333,11 @@ func executeLogPollerReplay(t *testing.T, cfg *Config, consistencyTimeout string t.Cleanup(func() { err := products.ScanLogs(l, products.DefaultSettings()) require.NoError(t, err, "Found concerning logs in Chainlink Node logs") + + if t.Failed() { + _, cErr := framework.SaveContainerLogs(fmt.Sprintf("%s-%s", framework.DefaultCTFLogsDir, t.Name())) + require.NoError(t, cErr) + } }) eventsToEmit := []abi.Event{} From 9117a19f4f08bf614e04885d231589baaefc436c Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Fri, 10 Apr 2026 16:27:44 +0200 Subject: [PATCH 2/2] fix counter --- devenv/tests/logpoller/test_helpers.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devenv/tests/logpoller/test_helpers.go b/devenv/tests/logpoller/test_helpers.go index 965ffa43186..f8bdc2b98a9 100644 --- a/devenv/tests/logpoller/test_helpers.go +++ b/devenv/tests/logpoller/test_helpers.go @@ -812,7 +812,7 @@ func runLoopedGenerator(cfg *Config, client *seth.Client, logEmitters []contract address := task.emitter.Address().String() for _, event := range cfg.General.EventsToEmit { - l.Debug().Str("Emitter address", address).Str("Event type", event.Name).Str("index", fmt.Sprintf("%d/%d", current, cfg.LoopedConfig.ExecutionCount)).Msg("Emitting log from emitter") + l.Debug().Str("Emitter address", address).Str("Event type", event.Name).Str("index", fmt.Sprintf("%d/%d", current, cfg.LoopedConfig.ExecutionCount*cfg.General.Contracts)).Msg("Emitting log from emitter") var err error switch event.Name { case "Log1": @@ -834,7 +834,7 @@ func runLoopedGenerator(cfg *Config, client *seth.Client, logEmitters []contract randomWait(cfg.LoopedConfig.MinEmitWaitTimeMs, cfg.LoopedConfig.MaxEmitWaitTimeMs) if (current)%10 == 0 { - l.Info().Str("Emitter address", address).Str("Index", fmt.Sprintf("%d/%d", current, cfg.LoopedConfig.ExecutionCount)).Msgf("Emitted all %d events", len(cfg.General.EventsToEmit)) + l.Info().Str("Emitter address", address).Str("Index", fmt.Sprintf("%d/%d", current, cfg.LoopedConfig.ExecutionCount*cfg.General.Contracts)).Msgf("Emitted all %d events", len(cfg.General.EventsToEmit)) } }