Conversation
Run Go tests in parallel across 9 components (flyteplugins, flytestdlib, runs, executor, flytecopilot, dataproxy, flyteidl2, actions, manager) on PRs and pushes to v2/main. Includes envtest setup for executor controller tests and excludes integration/e2e test directories. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
The executor/e2e directory doesn't exist — the grep -v /e2e was copied from the kubebuilder-scaffolded Makefile but serves no purpose here. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
- flytestdlib: Update semconv import from v1.24.0 to v1.34.0 to match OTel SDK version, fixing schema URL conflict in resource merge - flyteplugins: Return pointer types from mock methods to match interface signatures (TaskExecutionIdentifier, SecurityContext) - runs: Rename stale QueueServiceURL to ActionsServiceURL in config test, fix time.Now() race in CreateTask by capturing once - executor: Add required taskType and taskTemplate fields to test fixture to satisfy CRD validation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
- Remove dead code (initConfig, run functions) from executor/cmd/main.go that referenced undefined symbols (cobra, tls, setupLog, etc.) left over from pre-refactor kubebuilder scaffold - Provide PluginRegistry and FakeRecorder to controller test so Reconcile can execute without panicking on nil fields; the reconciler sets a Failed condition when no plugin is found for the task type Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
Set up a real controller-runtime Manager, initialize the plugin registry with the pod plugin (via blank import), create an in-memory DataStore, and use a proper protobuf-serialized TaskTemplate with a container spec. The test now exercises the full Reconcile → plugin Handle path, verifying that the pod plugin creates a Pod and sets status conditions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
The labeled metrics package panics if metrics are created before SetMetricKeys is called. Initialize with project/domain keys before creating the in-memory DataStore. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Kevin Su <pingsutw@apache.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why are the changes needed?
The Flyte repository currently has no CI workflow for running Go unit tests. There's
check-generate.ymlfor generated file validation andbuild-ci-image.ymlfor Docker image builds, but no actual test execution on PRs.What changes were proposed in this pull request?
Add a new GitHub Actions workflow (
.github/workflows/go-tests.yml) that runs Go unit tests across all 9 components in parallel using a matrix strategy:test/dir (integration tests)Key design decisions:
actions/setup-go@v5with Go 1.24 (matchinggo.mod) instead of the Docker CI imageHow was this patch tested?
executor/MakefileLabels
Check all the applicable boxes
main