Skip to content

chore(ci/cd): Move lint and tests to Testkube's Advanced Github Integration - #8183

Merged
buarki merged 9 commits into
mainfrom
tkc-6717-move-testkube-lint-and-test-ci-from-depot-to-quality-loop
Aug 28, 2026
Merged

chore(ci/cd): Move lint and tests to Testkube's Advanced Github Integration#8183
buarki merged 9 commits into
mainfrom
tkc-6717-move-testkube-lint-and-test-ci-from-depot-to-quality-loop

Conversation

@xoscar

@xoscar xoscar commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Cuts Depot lint/test GitHub Actions for kubeshop/testkube so Advanced GitHub Integration owns those checks instead (TKC-6717). Workflows live on the GitHub integration, not an in-repo .testkube/ folder.

Changes

  • Delete .github/workflows/lint.yaml, test.yaml, and lint_pr.yaml (golangci-lint, buf, unit/integration tests, protobuf/CRD verify, Conventional Commits PR titles)
  • Disable GitHub default CodeQL setup (Go + Actions) — that was dynamic/github-code-scanning/codeql, not a workflow file
  • Leave bake/release workflows on GitHub Actions
  • Comment proto fields so buf COMMENTS passes; ignore_only for Connect RPC request/response names on runspace_service.proto (bidi envelopes, not a wire rename)
  • Fire the inventory notifier burst without intra-loop sleeps so debounce coalescing does not race on a contended runner

Fixes

  • Proto lint never actually ran on GH (lint.yaml was push-only; buf-action defaults lint to pull_request). Quality Loop runs it.
  • TestRunCoalescesNotifierBurst could get a mid-burst extra push when 10×5ms sleeps exceeded the 50ms debounce.

Checklist

  • tested locally
  • added new dependencies
  • updated the docs
  • added a test

xoscar and others added 3 commits August 27, 2026 13:35
Quality Loop actually runs proto lint; GH never did because lint.yaml was push-only and buf-action defaults lint to pull_request. Ignore Connect RPC request/response names — they are bidi envelopes, not a wire rename.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sleeping 5ms between 10 events raced the 50ms debounce on a contended runner and produced a mid-burst extra push.

Co-authored-by: Cursor <cursoragent@cursor.com>
Lint, unit/integration tests, and protobuf/CRD verify now run as Quality Loop TestWorkflows. Semantic PR titles and bake/release stay on GitHub Actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@xoscar
xoscar requested review from a team as code owners August 27, 2026 19:35
@testkubebot

testkubebot Bot commented Aug 27, 2026

Copy link
Copy Markdown

🔄 Testkube GitHub Integration

Review based on commit a89a8e5.

Test execution in progress.


Phase Status
Test Workflow Execution 🔄 In progress
Quality Gate ⏳ Pending

6 workflows executed

⏳ lint-go queued

⏳ lint-proto queued

⏳ integration-tests queued

⏳ unit-tests queued

⏳ verify-crds queued

⏳ verify-protobuf queued


Manage this Integration

@xoscar xoscar changed the title ci: Move lint and tests to Testkube Quality Loop TKC-6717 chore(ci/cd): Move lint and tests to Testkube's Advanced Github Integration Aug 27, 2026
@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR moves linting, tests, and generated-artifact verification from in-repository GitHub Actions to the externally configured Testkube Quality Loop. It also adds protobuf lint documentation and targeted RPC naming exceptions, while making the notifier debounce test deterministic under runner contention.

Confidence Score: 5/5

The PR appears safe to merge with no concrete production, API-contract, security, or test-correctness failure identified.

The protobuf edits preserve the wire contract, the debounce test continues to verify exactly one coalesced push, and the CI removals are the explicitly stated purpose of an external Quality Loop migration.

Important Files Changed

Filename Overview
.github/workflows/lint.yaml Removes the Depot-based Go and protobuf lint workflow in favor of the externally managed Quality Loop described by the PR.
.github/workflows/test.yaml Removes GitHub Actions jobs for unit, integration, protobuf-generation, and CRD-generation checks as part of the stated CI migration.
internal/inventory/controller/cluster_resources_test.go Sends the notifier burst without delays and retains an exact final call-count assertion after a quiet period.
proto/buf.yaml Exempts the sole bidirectional Connect RPC’s envelope messages from standard request and response naming rules.
proto/testkube/runspace/v1/runspace_service.proto Adds lint-required comments without changing protobuf field numbers, types, or wire behavior.
proto/testkube/sync/v1/workflow_trigger_id.proto Adds a field comment without changing the protobuf contract.

Reviews (1): Last reviewed commit: "ci: Remove GH Actions lint and test work..." | Re-trigger Greptile

@xoscar xoscar changed the title TKC-6717 chore(ci/cd): Move lint and tests to Testkube's Advanced Github Integration chore(ci/cd): Move lint and tests to Testkube's Advanced Github Integration Aug 27, 2026
Conventional Commits title checks move to Testkube with the rest of lint/test. Bake and release stay on GitHub Actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@testkubebot

testkubebot Bot commented Aug 27, 2026

Copy link
Copy Markdown

🔄 Testkube GitHub Integration

Review based on commit a89a8e5.

Tests completed, quality gates running.


Phase Status
Test Workflow Execution ❌ Failed
Quality Gate ⏳ Pending

6 workflows executed

⏳ lint-go queued

⏳ lint-proto queued

⏳ integration-tests queued

⏳ unit-tests queued

⏳ verify-crds queued

⏳ verify-protobuf queued


Manage this Integration

1 similar comment
@testkubebot

testkubebot Bot commented Aug 27, 2026

Copy link
Copy Markdown

🔄 Testkube GitHub Integration

Review based on commit a89a8e5.

Tests completed, quality gates running.


Phase Status
Test Workflow Execution ❌ Failed
Quality Gate ⏳ Pending

6 workflows executed

⏳ lint-go queued

⏳ lint-proto queued

⏳ integration-tests queued

⏳ unit-tests queued

⏳ verify-crds queued

⏳ verify-protobuf queued


Manage this Integration

@testkubebot

testkubebot Bot commented Aug 27, 2026

Copy link
Copy Markdown

✅ Testkube GitHub Integration

Review based on commit e5dabfe.

All tests and quality gates passed.


Phase Status
Test Workflow Execution ✅ Passed
Quality Gate ✅ Passed

7 workflows executed

integration-tests passed
in 5m7s (🚀 27. Aug. 2026 - 20:59:08 UTC / 🏁 27. Aug. 2026 - 21:04:16 UTC)

lint-proto passed
in 13s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:47:48 UTC)

verify-crds passed
in 3m5s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:50:40 UTC)

lint-go passed
in 3m36s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:51:11 UTC)

lint-pr passed
in 20s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:47:55 UTC)

unit-tests passed
in 4m28s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:52:03 UTC)

verify-protobuf passed
in 24s (🚀 27. Aug. 2026 - 20:47:34 UTC / 🏁 27. Aug. 2026 - 20:47:59 UTC)


Manage this Integration

@xoscar

xoscar commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

@testkube

xoscar and others added 4 commits August 27, 2026 14:24
verify-protobuf-generated diffs these files after buf generate; the COMMENTS lint comments need to land in the generated Go.

Co-authored-by: Cursor <cursoragent@cursor.com>
Quality Loop runs buf format; GH lint.yaml never did (push-only vs buf-action PR default). Whitespace and a stray semicolon only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Quality Loop golangci-lint runs the full tree; GH used only-new-issues so these SA1019s never failed CI. Switch Transport to DialContext and informers to ListWithContextFunc / WatchFuncWithContext.

Co-authored-by: Cursor <cursoragent@cursor.com>
Same SA1019 as the operator informers: ListFunc/WatchFunc are deprecated in client-go v0.36.

Co-authored-by: Cursor <cursoragent@cursor.com>
@xoscar
xoscar requested a review from a team as a code owner August 27, 2026 20:36
@xoscar
xoscar requested a review from tkonieczny August 27, 2026 20:36
Quality Loop already binds 60434 in the same network namespace, so these tests cannot reuse the production control port.

Co-authored-by: Cursor <cursoragent@cursor.com>
@buarki
buarki merged commit 80c3482 into main Aug 28, 2026
10 checks passed
@buarki
buarki deleted the tkc-6717-move-testkube-lint-and-test-ci-from-depot-to-quality-loop branch August 28, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants