From c89ee38fad426ea559c70c17b8bc1a56e0189083 Mon Sep 17 00:00:00 2001 From: Chmouel Boudjnah Date: Wed, 12 Jun 2024 09:52:05 +0200 Subject: [PATCH] Add log for TestGHPullRequestConcurrencyMultiplePR Try to add some debugs for the tests and more logs collected by namespaces. Related to bug #1691 Signed-off-by: Chmouel Boudjnah --- hack/gh-workflow-ci.sh | 9 +++++++++ pkg/pipelineascode/concurrency.go | 3 +++ test/github_pullrequest_concurrency_multiplepr_test.go | 6 +++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/hack/gh-workflow-ci.sh b/hack/gh-workflow-ci.sh index 6fe2bd56c..8f27577c7 100755 --- a/hack/gh-workflow-ci.sh +++ b/hack/gh-workflow-ci.sh @@ -117,6 +117,15 @@ collect_logs() { kubectl get repositories.pipelinesascode.tekton.dev -A -o yaml >/tmp/logs/pac-repositories.yaml kubectl get configmap -n pipelines-as-code -o yaml >/tmp/logs/pac-configmap kubectl get events -A >/tmp/logs/events + + allNamespaces=$(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}') + for ns in ${allNamespaces}; do + mkdir -p /tmp/logs/ns/${ns} + for type in pods pipelineruns repositories configmap; do + kubectl get ${type} -n ${ns} -o yaml >/tmp/logs/ns/${ns}/${type}.yaml + done + kubectl -n ${ns} get events >/tmp/logs/ns/${ns}/events + done } help() { diff --git a/pkg/pipelineascode/concurrency.go b/pkg/pipelineascode/concurrency.go index 67b41a99b..9d90e354f 100644 --- a/pkg/pipelineascode/concurrency.go +++ b/pkg/pipelineascode/concurrency.go @@ -28,6 +28,9 @@ func (c *ConcurrencyManager) AddPipelineRun(pr *v1.PipelineRun) { if !c.enabled { return } + if pr == nil { + return + } c.mutex.Lock() defer c.mutex.Unlock() diff --git a/test/github_pullrequest_concurrency_multiplepr_test.go b/test/github_pullrequest_concurrency_multiplepr_test.go index 109b53577..cec566514 100644 --- a/test/github_pullrequest_concurrency_multiplepr_test.go +++ b/test/github_pullrequest_concurrency_multiplepr_test.go @@ -137,7 +137,11 @@ func TestGithubSecondPullRequestConcurrencyMultiplePR(t *testing.T) { prs, err := runcnx.Clients.Tekton.TektonV1().PipelineRuns(targetNS).List(ctx, metav1.ListOptions{}) assert.NilError(t, err) - assert.Equal(t, len(prs.Items), allPipelinesRunAfterCleanUp, "we should have had %d kept after cleanup, we got %d", allPipelinesRunAfterCleanUp, len(prs.Items)) + allPipelineRunsNamesAndStatus := []string{} + for _, pr := range prs.Items { + allPipelineRunsNamesAndStatus = append(allPipelineRunsNamesAndStatus, fmt.Sprintf("%s %s", pr.Name, pr.Status.GetConditions())) + } + assert.Equal(t, len(prs.Items), allPipelinesRunAfterCleanUp, "we should have had %d kept after cleanup, we got %d: %v", allPipelinesRunAfterCleanUp, len(prs.Items), allPipelineRunsNamesAndStatus) runcnx.Clients.Log.Infof("success: number of cleaned PR is %d we expected to have %d after the cleanup", len(prs.Items), allPipelinesRunAfterCleanUp)