Upgrade to go 1.23
Why are the changes needed?
Keeping Go up to date is beneficial since new versions have improvements for common source of bugs/issues as well as performance improvements and new features.
This change will also allow us to move to go 1.24 when that it deemed stable enough.
What changes were proposed in this pull request?
- Updates mockery to a version that supports go 1.23 and the new alias type. The introduces some diffs in the generated code.
- Updates pflag generator to handle new alias type (this required upgrading golang.org/x/tools)
How was this patch tested?
Unit tests
Check all the applicable boxes
- [x] I updated the documentation accordingly.
- [x] All new and existing tests passed.
- [x] All commits are signed-off.
Related PRs
Docs link
Summary by Bito
This PR upgrades the Go version from 1.22 to 1.23 across all Flyte components, updating base Docker images and dependencies. It upgrades mockery to v2.52.1 to support Go 1.23's alias type feature, adds notification template support, and refines configuration parameters including timeout settings and error handling for improved performance.Unit tests added: False
Estimated effort to review (1-5, lower is better): 5
Code Review Agent Run Status
- Limitations and other issues: ❌ Failure - The AI Code Review Agent skipped reviewing this change because it is configured to exclude certain pull requests based on the source/target branch or the pull request status. You can change the settings here, or contact the agent instance creator at [email protected].
Codecov Report
:x: Patch coverage is 10.98901% with 81 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 58.57%. Comparing base (668aeb9) to head (e102598).
:warning: Report is 2 commits behind head on master.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| flytestdlib/cli/pflags/api/generator.go | 10.00% | 80 Missing and 1 partial :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #6249 +/- ##
==========================================
- Coverage 58.65% 58.57% -0.08%
==========================================
Files 929 929
Lines 70765 70851 +86
==========================================
- Hits 41505 41504 -1
- Misses 26114 26200 +86
- Partials 3146 3147 +1
| Flag | Coverage Δ | |
|---|---|---|
| unittests-datacatalog | 59.03% <ø> (ø) |
|
| unittests-flyteadmin | 56.09% <ø> (-0.03%) |
:arrow_down: |
| unittests-flytecopilot | 39.56% <ø> (ø) |
|
| unittests-flytectl | 64.64% <ø> (ø) |
|
| unittests-flyteidl | 76.12% <ø> (ø) |
|
| unittests-flyteplugins | 61.10% <ø> (ø) |
|
| unittests-flytepropeller | 55.06% <ø> (ø) |
|
| unittests-flytestdlib | 63.11% <10.98%> (-0.95%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Code Review Agent Run Status
- Limitations and other issues: ❌ Failure - The AI Code Review Agent skipped reviewing this change because it is configured to exclude certain pull requests based on the source/target branch or the pull request status. You can change the settings here, or contact the agent instance creator at [email protected].
A little gift to help with this: our fork of mockery has just been removed.
A little gift to help with this: our fork of mockery has just been removed.
Much appreciated thank you
Code Review Agent Run Status
- Limitations and other issues: ❌ Failure - The AI Code Review Agent skipped reviewing this change because it is configured to exclude certain pull requests based on the source/target branch or the pull request status. You can change the settings here, or contact the agent instance creator at [email protected].
Code Review Agent Run Status
- Limitations and other issues: ❌ Failure - The AI Code Review Agent skipped reviewing this change because it is configured to exclude certain pull requests based on the source/target branch or the pull request status. You can change the settings here, or contact the agent instance creator at [email protected].
Code Review Agent Run #6f4da4
Actionable Suggestions - 9
-
flyteadmin/auth/interfaces/mocks/handler_registerer.go - 1
- Consider mock testing pattern consistency · Line 54-54
-
flyteplugins/go/tasks/pluginmachinery/catalog/mocks/future.go - 1
- Consider using Call.Return for mock expectations · Line 142-142
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go - 2
- Consider using Call.Return for mock expectations · Line 1181-1181
- Consider using Call.Return for mock setup · Line 1181-1181
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go - 1
- Consider using Call.Return for mock setup · Line 2050-2050
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableWorkflowNodeStatus.go - 1
- Mock expectation pattern could be improved · Line 224-224
-
boilerplate/flyte/golang_support_tools/go.mod - 1
- Consider using specific Go version · Line 3-3
-
flyteidl/clients/go/admin/mocks/UnsafeAsyncAgentServiceServer.go - 1
- Consider using Call.Return for mock setup · Line 48-48
-
docker/sandbox-bundled/bootstrap/go.mod - 1
- Consider using officially released Go version · Line 3-3
Additional Suggestions - 10
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go - 1
- Consider using Call.Return for mock setup · Line 89-89
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableTaskNodeStatus.go - 2
- Consider using Call.Return for mock setup · Line 659-659
- Consider using Call.Return for mock setup · Line 494-494
-
flyteadmin/pkg/async/schedule/mocks/workflow_executor.go - 1
- Consider using Call.Return for mock expectations · Line 48-48
-
flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableArrayNodeStatus.go - 1
- Consider using Call.Return for mock expectations · Line 628-628
-
flyteidl/clients/go/admin/mocks/SyncAgentService_ExecuteTaskSyncServer.go - 1
- Consider using Call.Return for mock testing · Line 391-391
-
flyteplugins/go/tasks/pluginmachinery/catalog/mocks/ready_handler.go - 1
- Consider using Call.Return for mock setup · Line 56-56
-
flyteadmin/auth/interfaces/mocks/o_auth2_provider.go - 1
- Consider using Call.Return for mock testing · Line 654-654
-
flytestdlib/cli/pflags/api/generator.go - 2
- Consider standardizing JSON method naming convention · Line 280-286
- Consider standardizing JSON method naming · Line 285-286
Review Details
-
Files reviewed - 294 · Commit Range:
2291526..3305736- Dockerfile
- Dockerfile.datacatalog
- Dockerfile.flyteadmin
- Dockerfile.flytecopilot
- Dockerfile.flytepropeller
- Dockerfile.flytescheduler
- boilerplate/flyte/golang_support_tools/go.mod
- boilerplate/flyte/golang_support_tools/go.sum
- boilerplate/flyte/golang_test_targets/download_tooling.sh
- datacatalog/go.mod
- datacatalog/go.sum
- datacatalog/pkg/manager/mocks/artifact_manager.go
- datacatalog/pkg/repositories/mocks/artifact_repo.go
- datacatalog/pkg/repositories/mocks/dataset_repo.go
- datacatalog/pkg/repositories/mocks/partition_repo.go
- datacatalog/pkg/repositories/mocks/reservation_repo.go
- datacatalog/pkg/repositories/mocks/tag_repo.go
- docker/sandbox-bundled/Dockerfile
- docker/sandbox-bundled/bootstrap/go.mod
- flyteadmin/auth/interfaces/mocks/authentication_context.go
- flyteadmin/auth/interfaces/mocks/cookie_handler.go
- flyteadmin/auth/interfaces/mocks/handler_registerer.go
- flyteadmin/auth/interfaces/mocks/identity_context.go
- flyteadmin/auth/interfaces/mocks/o_auth2_provider.go
- flyteadmin/auth/interfaces/mocks/o_auth2_resource_server.go
- flyteadmin/go.mod
- flyteadmin/go.sum
- flyteadmin/pkg/async/cloudevent/mocks/publisher.go
- flyteadmin/pkg/async/cloudevent/mocks/sender.go
- flyteadmin/pkg/async/events/mocks/node_execution_event_writer.go
- flyteadmin/pkg/async/events/mocks/workflow_execution_event_writer.go
- flyteadmin/pkg/async/notifications/mocks/emailer.go
- flyteadmin/pkg/async/notifications/mocks/processor.go
- flyteadmin/pkg/async/notifications/mocks/publisher.go
- flyteadmin/pkg/async/notifications/mocks/sendgrid_client.go
- flyteadmin/pkg/async/notifications/mocks/smtp_client.go
- flyteadmin/pkg/async/schedule/mocks/event_scheduler.go
- flyteadmin/pkg/async/schedule/mocks/workflow_executor.go
- flyteadmin/pkg/clusterresource/mocks/flyte_admin_data_provider.go
- flyteadmin/pkg/data/mocks/remote_url_interface.go
- flyteadmin/pkg/executioncluster/mocks/cluster_interface.go
- flyteadmin/pkg/executioncluster/mocks/execution_target_provider.go
- flyteadmin/pkg/executioncluster/mocks/get_target_interface.go
- flyteadmin/pkg/executioncluster/mocks/list_targets_interface.go
- flyteadmin/pkg/manager/mocks/execution_interface.go
- flyteadmin/pkg/manager/mocks/launch_plan_interface.go
- flyteadmin/pkg/manager/mocks/metrics_interface.go
- flyteadmin/pkg/manager/mocks/named_entity_interface.go
- flyteadmin/pkg/manager/mocks/node_execution_interface.go
- flyteadmin/pkg/manager/mocks/project_interface.go
- flyteadmin/pkg/manager/mocks/resource_interface.go
- flyteadmin/pkg/manager/mocks/signal_interface.go
- flyteadmin/pkg/manager/mocks/task_execution_interface.go
- flyteadmin/pkg/manager/mocks/task_interface.go
- flyteadmin/pkg/manager/mocks/version_interface.go
- flyteadmin/pkg/manager/mocks/workflow_interface.go
- flyteadmin/pkg/repositories/mocks/execution_event_repo_interface.go
- flyteadmin/pkg/repositories/mocks/node_execution_event_repo_interface.go
- flyteadmin/pkg/repositories/mocks/signal_repo_interface.go
- flyteadmin/pkg/runtime/interfaces/mocks/cluster_pool_assignment_configuration.go
- flyteadmin/pkg/runtime/interfaces/mocks/quality_of_service_configuration.go
- flyteadmin/pkg/runtime/mocks/cluster_configuration.go
- flyteadmin/pkg/runtime/mocks/namespace_mapping_configuration.go
- flyteadmin/pkg/workflowengine/mocks/flyte_workflow_builder.go
- flyteadmin/pkg/workflowengine/mocks/workflow_executor.go
- flyteadmin/scheduler/executor/mocks/executor.go
- flyteadmin/scheduler/repositories/mocks/schedulable_entity_repo_interface.go
- flyteadmin/scheduler/repositories/mocks/schedule_entities_snap_shot_repo_interface.go
- flytecopilot/go.mod
- flytecopilot/go.sum
- flytectl/cmd/update/interfaces/mocks/updater.go
- flytectl/go.mod
- flytectl/go.sum
- flytectl/pkg/docker/mocks/docker.go
- flytectl/pkg/ext/mocks/admin_deleter_ext_interface.go
- flytectl/pkg/ext/mocks/admin_fetcher_ext_interface.go
- flytectl/pkg/ext/mocks/admin_updater_ext_interface.go
- flytectl/pkg/github/mocks/gh_repo_service.go
- flytectl/pkg/k8s/mocks/context_ops.go
- flytectl/pkg/visualize/mocks/graphvizer.go
- flyteidl/clients/go/admin/cache/mocks/token_cache.go
- flyteidl/clients/go/admin/mocks/AdminServiceClient.go
- flyteidl/clients/go/admin/mocks/AdminServiceServer.go
- flyteidl/clients/go/admin/mocks/AgentMetadataServiceClient.go
- flyteidl/clients/go/admin/mocks/AgentMetadataServiceServer.go
- flyteidl/clients/go/admin/mocks/AsyncAgentServiceClient.go
- flyteidl/clients/go/admin/mocks/AsyncAgentServiceServer.go
- flyteidl/clients/go/admin/mocks/AsyncAgentService_GetTaskLogsClient.go
- flyteidl/clients/go/admin/mocks/AsyncAgentService_GetTaskLogsServer.go
- flyteidl/clients/go/admin/mocks/AuthMetadataServiceClient.go
- flyteidl/clients/go/admin/mocks/AuthMetadataServiceServer.go
- flyteidl/clients/go/admin/mocks/DataProxyServiceClient.go
- flyteidl/clients/go/admin/mocks/DataProxyServiceServer.go
- flyteidl/clients/go/admin/mocks/ExternalPluginServiceClient.go
- flyteidl/clients/go/admin/mocks/ExternalPluginServiceServer.go
- flyteidl/clients/go/admin/mocks/IdentityServiceClient.go
- flyteidl/clients/go/admin/mocks/IdentityServiceServer.go
- flyteidl/clients/go/admin/mocks/SignalServiceClient.go
- flyteidl/clients/go/admin/mocks/SignalServiceServer.go
- flyteidl/clients/go/admin/mocks/SyncAgentServiceClient.go
- flyteidl/clients/go/admin/mocks/SyncAgentServiceServer.go
- flyteidl/clients/go/admin/mocks/SyncAgentService_ExecuteTaskSyncClient.go
- flyteidl/clients/go/admin/mocks/SyncAgentService_ExecuteTaskSyncServer.go
- flyteidl/clients/go/admin/mocks/TokenSource.go
- flyteidl/clients/go/admin/mocks/UnsafeAdminServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeAgentMetadataServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeAsyncAgentServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeAuthMetadataServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeDataProxyServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeExternalPluginServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeIdentityServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeSignalServiceServer.go
- flyteidl/clients/go/admin/mocks/UnsafeSyncAgentServiceServer.go
- flyteidl/clients/go/admin/mocks/isCreateDownloadLinkRequest_Source.go
- flyteidl/clients/go/admin/mocks/isGetDataResponse_Data.go
- flyteidl/clients/go/cacheservice/mocks/CacheServiceClient.go
- flyteidl/clients/go/datacatalog/mocks/DataCatalogClient.go
- flyteidl/go.mod
- flyteidl/go.sum
- flyteplugins/go.mod
- flyteplugins/go.sum
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/async_client.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/client.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/download_future.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/download_response.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/future.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/ready_handler.go
- flyteplugins/go/tasks/pluginmachinery/catalog/mocks/upload_future.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/enqueue_owner.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/events_recorder.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/kube_client.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/plugin.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/plugin_loader.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/plugin_state_reader.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/plugin_state_writer.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/resource_manager.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/resource_registrar.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/secret_manager.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/setup_context.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/signal_async.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_context.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_id.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_metadata.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_overrides.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_reader.go
- flyteplugins/go/tasks/pluginmachinery/core/mocks/task_template_path.go
- flyteplugins/go/tasks/pluginmachinery/internal/webapi/mocks/client.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/checkpoint_paths.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/error_reader.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/output_file_paths.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/output_reader.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/output_writer.go
- flyteplugins/go/tasks/pluginmachinery/io/mocks/raw_output_paths.go
- flyteplugins/go/tasks/pluginmachinery/k8s/mocks/plugin.go
- flyteplugins/go/tasks/pluginmachinery/k8s/mocks/plugin_abort_override.go
- flyteplugins/go/tasks/pluginmachinery/k8s/mocks/plugin_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/async_plugin.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/delete_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/get_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/plugin_loader.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/plugin_setup_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/status_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/sync_plugin.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/task_execution_context.go
- flyteplugins/go/tasks/pluginmachinery/webapi/mocks/task_execution_context_reader.go
- flyteplugins/go/tasks/pluginmachinery/workqueue/mocks/indexed_work_queue.go
- flyteplugins/go/tasks/pluginmachinery/workqueue/mocks/processor.go
- flyteplugins/go/tasks/pluginmachinery/workqueue/mocks/work_item.go
- flyteplugins/go/tasks/pluginmachinery/workqueue/mocks/work_item_info.go
- flyteplugins/go/tasks/plugins/array/awsbatch/mocks/batch_service_client.go
- flyteplugins/go/tasks/plugins/array/awsbatch/mocks/cache.go
- flyteplugins/go/tasks/plugins/array/awsbatch/mocks/cache_key.go
- flyteplugins/go/tasks/plugins/array/awsbatch/mocks/client.go
- flyteplugins/go/tasks/plugins/hive/client/mocks/qubole_client.go
- flyteplugins/go/tasks/plugins/presto/client/mocks/presto_client.go
- flytepropeller/events/mocks/event_recorder.go
- flytepropeller/events/mocks/event_sink.go
- flytepropeller/events/mocks/node_event_recorder.go
- flytepropeller/events/mocks/task_event_recorder.go
- flytepropeller/events/mocks/workflow_event_recorder.go
- flytepropeller/events/mocks/writer.go
- flytepropeller/go.mod
- flytepropeller/go.sum
- flytepropeller/manager/shardstrategy/mocks/shard_strategy.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/BaseNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/BaseWorkflow.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/BaseWorkflowWithStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/EnqueueWorkflow.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableArrayNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableArrayNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableBranchNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableBranchNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableDynamicNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableGateNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableGateNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableIfBlock.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableSubWorkflow.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableSubWorkflowNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableTask.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableTaskNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableWorkflow.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableWorkflowNode.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableWorkflowNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableWorkflowStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutionTimeInfo.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/Meta.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MetaExtended.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/Mutable.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableArrayNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableBranchNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableDynamicNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableGateNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableSubWorkflowNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableTaskNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableWorkflowNodeStatus.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/NodeGetter.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/NodeStatusGetter.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/NodeStatusVisitor.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/SubWorkflowGetter.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/TaskDetailsGetter.go
- flytepropeller/pkg/compiler/common/mocks/interface_provider.go
- flytepropeller/pkg/compiler/common/mocks/node.go
- flytepropeller/pkg/compiler/common/mocks/node_builder.go
- flytepropeller/pkg/compiler/common/mocks/task.go
- flytepropeller/pkg/compiler/common/mocks/workflow.go
- flytepropeller/pkg/compiler/common/mocks/workflow_builder.go
- flytepropeller/pkg/controller/executors/mocks/client.go
- flytepropeller/pkg/controller/executors/mocks/control_flow.go
- flytepropeller/pkg/controller/executors/mocks/dag_structure.go
- flytepropeller/pkg/controller/executors/mocks/dag_structure_with_start_node.go
- flytepropeller/pkg/controller/executors/mocks/execution_context.go
- flytepropeller/pkg/controller/executors/mocks/immutable_execution_context.go
- flytepropeller/pkg/controller/executors/mocks/immutable_parent_info.go
- flytepropeller/pkg/controller/executors/mocks/node_lookup.go
- flytepropeller/pkg/controller/executors/mocks/parent_info_getter.go
- flytepropeller/pkg/controller/executors/mocks/sub_workflow_getter.go
- flytepropeller/pkg/controller/executors/mocks/task_details_getter.go
- flytepropeller/pkg/controller/executors/mocks/workflow.go
- flytepropeller/pkg/controller/mocks/limiter.go
- flytepropeller/pkg/controller/mocks/reservation.go
- flytepropeller/pkg/controller/nodes/array/mocks/array_event_recorder.go
- flytepropeller/pkg/controller/nodes/dynamic/mocks/task_node_handler.go
- flytepropeller/pkg/controller/nodes/gate/mocks/signal_service_client.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/cacheable_node_handler.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/event_recorder.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/handler_factory.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_execution_context.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_execution_context_builder.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_execution_metadata.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_executor.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_handler.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_state_reader.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/node_state_writer.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/setup_context.go
- flytepropeller/pkg/controller/nodes/interfaces/mocks/task_reader.go
- flytepropeller/pkg/controller/nodes/mocks/output_resolver.go
- flytepropeller/pkg/controller/nodes/recovery/mocks/client.go
- flytepropeller/pkg/controller/nodes/subworkflow/launchplan/mocks/executor.go
- flytepropeller/pkg/controller/nodes/subworkflow/launchplan/mocks/flyte_admin.go
- flytepropeller/pkg/controller/nodes/subworkflow/launchplan/mocks/reader.go
- flytepropeller/pkg/controller/nodes/task/resourcemanager/mocks/redis_client.go
- flytepropeller/pkg/controller/workflowstore/mocks/FlyteWorkflow.go
- flytepropeller/pkg/webhook/mocks/global_secret_provider.go
- flytepropeller/pkg/webhook/mocks/mutator.go
- flytepropeller/pkg/webhook/mocks/secrets_injector.go
- flytestdlib/cache/mocks/AutoRefresh.go
- flytestdlib/cache/mocks/CreateBatchesFunc.go
- flytestdlib/cache/mocks/Item.go
- flytestdlib/cache/mocks/ItemWrapper.go
- flytestdlib/cache/mocks/Option.go
- flytestdlib/cache/mocks/SyncFunc.go
- flytestdlib/cli/pflags/api/generator.go
- flytestdlib/cli/pflags/api/utils.go
- flytestdlib/fastcheck/mocks/filter.go
- flytestdlib/go.mod
- flytestdlib/go.sum
- flytestdlib/random/mocks/comparable.go
- flytestdlib/random/mocks/weighted_random_list.go
- flytestdlib/storage/mocks/composed_protobuf_store.go
- flytestdlib/storage/mocks/raw_store.go
- flytestdlib/storage/mocks/reference_constructor.go
- flytestdlib/utils/mocks/auto_refresh_cache.go
- flytestdlib/utils/mocks/cache_item.go
- flytestdlib/utils/mocks/cache_sync_item.go
- flytestdlib/utils/mocks/rate_limiter.go
- flytestdlib/utils/mocks/sequencer.go
- go.mod
- go.sum
-
Files skipped - 0
-
Tools
- Golangci-lint (Linter) - ✖︎ Failed
- Whispers (Secret Scanner) - ✔︎ Successful
- Detect-secrets (Secret Scanner) - ✔︎ Successful
Changelist by Bito
This pull request implements the following key changes.
| Key Change | Files Impacted |
|---|---|
| Other Improvements - Docker and Build Config Upgrades |
- - - - - - - - |
| Feature Improvement - Dependency and Module Upgrades |
- - - - - - - - - - - - - |
| Testing - Mock Generation and Interface Updates |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
Can we separate the move to go 1.23 from the bump in mockery version? Since moving to this new version is non-controversial, how about we do it separately (either make the go1.23 changes happen in a stacked PR or, my preference, move to that mockery version in a separate PR and merge that sooner).
Can we separate the move to go 1.23 from the bump in mockery version? Since moving to this new version is non-controversial, how about we do it separately (either make the go1.23 changes happen in a stacked PR or, my preference, move to that mockery version in a separate PR and merge that sooner).
Sure
Can we separate the move to go 1.23 from the bump in mockery version? Since moving to this new version is non-controversial, how about we do it separately (either make the go1.23 changes happen in a stacked PR or, my preference, move to that mockery version in a separate PR and merge that sooner).
So I'm having trouble because it seems that the mockery libraries are tightly coupled with a very specific version of go. When I use the version of mockery that supports go 1.23 I'm running into this error like `2025/03/03 20:30:44 internal error: package "context" without types was imported from "github.com/flyteorg/flyte/flytestdlib/utils".
I even tried the earliest version that supports the go 1.23 type aliasing, v2.46.1.
ie: https://vektra.github.io/mockery/latest/notes/#internal-error-package-without-types-was-imported
So I'm having trouble because it seems that the mockery libraries are tightly coupled with a very specific version of go. When I use the version of mockery that supports go 1.23 I'm running into this error like `2025/03/03 20:30:44 internal error: package "context" without types was imported from "github.com/flyteorg/flyte/flytestdlib/utils".
I even tried the earliest version that supports the go 1.23 type aliasing, v2.46.1.
ie: https://vektra.github.io/mockery/latest/notes/#internal-error-package-without-types-was-imported
Hmm. I can't even run make generate on main so it might be a local issue :)
Can we separate the move to go 1.23 from the bump in mockery version? Since moving to this new version is non-controversial, how about we do it separately (either make the go1.23 changes happen in a stacked PR or, my preference, move to that mockery version in a separate PR and merge that sooner).
Alright I can't really land the mockery changes in a separate PR since newer versions of mockery require new versions of go.
~/code/flyte/flytestdlib git:[update-mockery] make generate
Makefile:19: warning: overriding commands for target `generate'
../boilerplate/flyte/golang_test_targets/Makefile:14: warning: ignoring old commands for target `generate'
Makefile:31: warning: overriding commands for target `test_unit_codecov'
../boilerplate/flyte/golang_test_targets/Makefile:55: warning: ignoring old commands for target `test_unit_codecov'
Makefile:19: warning: overriding commands for target `generate'
../boilerplate/flyte/golang_test_targets/Makefile:14: warning: ignoring old commands for target `generate'
Makefile:31: warning: overriding commands for target `test_unit_codecov'
../boilerplate/flyte/golang_test_targets/Makefile:55: warning: ignoring old commands for target `test_unit_codecov'
mkdir -p ./bin
go build -o pflags ./cli/pflags/main.go && mv ./pflags ./bin
Using temp directory /var/folders/h0/cm6xy2g1463675c79_kb76l40000gn/T/gotooling-XXX.HmChxV6PGp
/var/folders/h0/cm6xy2g1463675c79_kb76l40000gn/T/gotooling-XXX.HmChxV6PGp ~/code/flyte/flytestdlib
Installing github.com/vektra/mockery/[email protected]
go: github.com/vektra/mockery/[email protected] requires go >= 1.24; switching to go1.24.0
Installing github.com/golangci/golangci-lint/cmd/golangci-lint
/Users/jasonparraga/go/pkg/mod/github.com/fatih/[email protected]/color.go:11:2: missing go.sum entry for module providing package github.com/mattn/go-colorable (imported by github.com/fatih/color); to add:
go get github.com/fatih/[email protected]
......
I messed around with it for a few hours and different versions of mockery all have different issues but it seems like all the issues are rooted in the fact that you use a different version of go to generate the mocks then you do to use them.
Code Review Agent Run #4df6c6
Actionable Suggestions - 0
Filtered by Review Rules
Bito filtered these suggestions based on rules created automatically for your feedback. Manage rules.
-
flytestdlib/utils/marshal_utils.go - 1
- Error value incorrectly set to nil · Line 78-78
Review Details
-
Files reviewed - 175 · Commit Range:
3305736..6adfaea- boilerplate/flyte/golang_test_targets/download_tooling.sh
- boilerplate/flyte/golang_test_targets/go-gen.sh
- charts/flyte-binary/values.yaml
- charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml
- charts/flyte-core/values.yaml
- charts/flyte/values.yaml
- datacatalog/datacatalog_config.yaml
- datacatalog/go.mod
- datacatalog/go.sum
- datacatalog/pkg/config/config.go
- datacatalog/pkg/config/config_flags.go
- datacatalog/pkg/config/config_flags_test.go
- datacatalog/pkg/manager/interfaces/artifact.go
- datacatalog/pkg/repositories/interfaces/artifact_repo.go
- datacatalog/pkg/repositories/interfaces/dataset_repo.go
- datacatalog/pkg/repositories/interfaces/partition_repo.go
- datacatalog/pkg/repositories/interfaces/reservation_repo.go
- datacatalog/pkg/repositories/interfaces/tag_repo.go
- datacatalog/pkg/rpc/datacatalogservice/service.go
- deployment/eks/flyte_aws_scheduler_helm_generated.yaml
- deployment/eks/flyte_helm_controlplane_generated.yaml
- deployment/eks/flyte_helm_generated.yaml
- deployment/gcp/flyte_helm_controlplane_generated.yaml
- deployment/gcp/flyte_helm_generated.yaml
- deployment/sandbox/flyte_helm_generated.yaml
- docker/sandbox-bundled/bootstrap/go.mod
- docker/sandbox-bundled/bootstrap/go.sum
- docker/sandbox-bundled/manifests/complete-agent.yaml
- docker/sandbox-bundled/manifests/complete.yaml
- docker/sandbox-bundled/manifests/dev.yaml
- docs/deployment/configuration/auth_setup.rst
- docs/deployment/configuration/cloud_event.rst
- docs/deployment/configuration/eventing.rst
- flyteadmin/auth/interfaces/context.go
- flyteadmin/auth/interfaces/cookie.go
- flyteadmin/go.mod
- flyteadmin/go.sum
- flyteadmin/pkg/async/cloudevent/interfaces/publisher.go
- flyteadmin/pkg/async/cloudevent/interfaces/sender.go
- flyteadmin/pkg/async/events/interfaces/node_execution.go
- flyteadmin/pkg/async/events/interfaces/workflow_execution.go
- flyteadmin/pkg/async/notifications/email.go
- flyteadmin/pkg/async/notifications/email_test.go
- flyteadmin/pkg/async/notifications/implementations/sendgrid_emailer.go
- flyteadmin/pkg/async/notifications/interfaces/emailer.go
- flyteadmin/pkg/async/notifications/interfaces/processor.go
- flyteadmin/pkg/async/notifications/interfaces/publisher.go
- flyteadmin/pkg/async/notifications/interfaces/smtp_client.go
- flyteadmin/pkg/async/schedule/interfaces/event_scheduler.go
- flyteadmin/pkg/async/schedule/interfaces/workflow_executor.go
- flyteadmin/pkg/clusterresource/interfaces/admin.go
- flyteadmin/pkg/data/interfaces/remote.go
- flyteadmin/pkg/executioncluster/interfaces/execution_target_provider.go
- flyteadmin/pkg/manager/impl/metrics_manager.go
- flyteadmin/pkg/manager/interfaces/execution.go
- flyteadmin/pkg/manager/interfaces/launch_plan.go
- flyteadmin/pkg/manager/interfaces/metrics.go
- flyteadmin/pkg/manager/interfaces/named_entity.go
- flyteadmin/pkg/manager/interfaces/node_execution.go
- flyteadmin/pkg/manager/interfaces/project.go
- flyteadmin/pkg/manager/interfaces/resource.go
- flyteadmin/pkg/manager/interfaces/signal.go
- flyteadmin/pkg/manager/interfaces/task.go
- flyteadmin/pkg/manager/interfaces/task_execution.go
- flyteadmin/pkg/manager/interfaces/version.go
- flyteadmin/pkg/manager/interfaces/workflow.go
- flyteadmin/pkg/repositories/interfaces/execution_event_repo.go
- flyteadmin/pkg/repositories/interfaces/node_execution_event_repo.go
- flyteadmin/pkg/repositories/interfaces/signal_repo.go
- flyteadmin/pkg/runtime/interfaces/cluster_configuration.go
- flyteadmin/pkg/runtime/interfaces/cluster_pools.go
- flyteadmin/pkg/runtime/interfaces/namespace_configuration.go
- flyteadmin/pkg/runtime/interfaces/quality_of_service_configuration.go
- flyteadmin/pkg/workflowengine/interfaces/builder.go
- flyteadmin/pkg/workflowengine/interfaces/executor.go
- flyteadmin/scheduler/executor/executor.go
- flyteadmin/scheduler/repositories/interfaces/schedulable_entity_repo.go
- flyteadmin/scheduler/repositories/interfaces/schedule_entities_snapshot_repo.go
- flytectl/cmd/update/interfaces/updater.go
- flytectl/docs/docs-requirements.txt
- flytectl/docs/source/contribute.rst
- flytectl/pkg/docker/docker.go
- flytectl/pkg/ext/deleter.go
- flytectl/pkg/ext/fetcher.go
- flytectl/pkg/ext/updater.go
- flytectl/pkg/github/githubutil.go
- flytectl/pkg/k8s/k8s.go
- flytectl/pkg/visualize/graphvizer.go
- flyteidl/clients/go/admin/cache/token_cache.go
- flyteidl/clients/go/admin/client.go
- flyteidl/clients/go/admin/token_source_provider.go
- flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts
- flyteidl/gen/pb-es/flyteidl/admin/common_pb.ts
- flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go
- flyteidl/gen/pb-go/flyteidl/admin/common.pb.go
- flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go
- flyteidl/gen/pb-js/flyteidl.d.ts
- flyteidl/gen/pb-js/flyteidl.js
- flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py
- flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi
- flyteidl/gen/pb_python/flyteidl/admin/common_pb2.py
- flyteidl/gen/pb_python/flyteidl/admin/common_pb2.pyi
- flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py
- flyteidl/gen/pb_rust/flyteidl.admin.rs
- flyteidl/generate_mocks.sh
- flyteidl/go.mod
- flyteidl/go.sum
- flyteidl/protos/flyteidl/admin/agent.proto
- flyteidl/protos/flyteidl/admin/common.proto
- flyteidl/protos/flyteidl/admin/execution.proto
- flyteplugins/go/tasks/pluginmachinery/catalog/client.go
- flyteplugins/go/tasks/pluginmachinery/core/exec_context.go
- flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go
- flyteplugins/go/tasks/pluginmachinery/core/plugin.go
- flyteplugins/go/tasks/pluginmachinery/core/secret_manager.go
- flyteplugins/go/tasks/pluginmachinery/internal/webapi/cache.go
- flyteplugins/go/tasks/pluginmachinery/io/iface.go
- flyteplugins/go/tasks/pluginmachinery/k8s/plugin.go
- flyteplugins/go/tasks/pluginmachinery/webapi/plugin.go
- flyteplugins/go/tasks/pluginmachinery/workqueue/queue.go
- flyteplugins/go/tasks/plugins/array/awsbatch/client.go
- flyteplugins/go/tasks/plugins/array/core/state.go
- flyteplugins/go/tasks/plugins/array/k8s/subtask_exec_context.go
- flyteplugins/go/tasks/plugins/hive/client/qubole_client.go
- flyteplugins/go/tasks/plugins/presto/client/presto_client.go
- flyteplugins/go/tasks/plugins/webapi/agent/config.go
- flyteplugins/go/tasks/plugins/webapi/agent/config_test.go
- flyteplugins/go/tasks/plugins/webapi/agent/plugin.go
- flytepropeller/events/node_event_recorder.go
- flytepropeller/events/task_event_recorder.go
- flytepropeller/events/workflow_event_recorder.go
- flytepropeller/manager/shardstrategy/shard_strategy.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/array.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go
- flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableArrayNode.go
- flytepropeller/pkg/compiler/common/builder.go
- flytepropeller/pkg/compiler/transformers/k8s/node.go
- flytepropeller/pkg/controller/executors/dag_structure.go
- flytepropeller/pkg/controller/executors/execution_context.go
- flytepropeller/pkg/controller/executors/kube.go
- flytepropeller/pkg/controller/executors/node_lookup.go
- flytepropeller/pkg/controller/executors/workflow.go
- flytepropeller/pkg/controller/interfaces/rate_limiter.go
- flytepropeller/pkg/controller/nodes/array/handler.go
- flytepropeller/pkg/controller/nodes/array/handler_test.go
- flytepropeller/pkg/controller/nodes/array/node_execution_context.go
- flytepropeller/pkg/controller/nodes/array/node_execution_context_test.go
- flytepropeller/pkg/controller/nodes/branch/handler.go
- flytepropeller/pkg/controller/nodes/branch/handler_test.go
- flytepropeller/pkg/controller/nodes/dynamic/handler.go
- flytepropeller/pkg/controller/nodes/executor.go
- flytepropeller/pkg/controller/nodes/gate/handler.go
- flytepropeller/pkg/controller/nodes/interfaces/handler.go
- flytepropeller/pkg/controller/nodes/interfaces/handler_factory.go
- flytepropeller/pkg/controller/nodes/interfaces/node.go
- flytepropeller/pkg/controller/nodes/interfaces/node_exec_context.go
- flytepropeller/pkg/controller/nodes/output_resolver.go
- flytepropeller/pkg/controller/nodes/recovery/client.go
- flytepropeller/pkg/controller/nodes/subworkflow/launchplan/launchplan.go
- flytepropeller/pkg/controller/nodes/task/resourcemanager/redis_client.go
- flytepropeller/pkg/controller/workflowstore/iface.go
- flytepropeller/pkg/webhook/aws_secret_manager.go
- flytepropeller/pkg/webhook/aws_secret_manager_test.go
- flytepropeller/pkg/webhook/global_secrets.go
- flytestdlib/cache/auto_refresh.go
- flytestdlib/fastcheck/iface.go
- flytestdlib/go.mod
- flytestdlib/go.sum
- flytestdlib/pbhash/pbhash.go
- flytestdlib/random/weighted_random_list.go
- flytestdlib/storage/storage.go
- flytestdlib/utils/auto_refresh_cache.go
- flytestdlib/utils/marshal_utils.go
- go.mod
- go.sum
-
Files skipped - 11
- .github/workflows/single-binary.yml - Reason: Filter setting
- charts/flyte-binary/README.md - Reason: Filter setting
- charts/flyte-core/README.md - Reason: Filter setting
- charts/flyte/README.md - Reason: Filter setting
- codecov.yml - Reason: Filter setting
- docs/user_guide/advanced_composition/eager_workflows.md - Reason: Filter setting
- docs/user_guide/productionizing/secrets.md - Reason: Filter setting
- flyteidl/clients/go/assets/admin.swagger.json - Reason: Filter setting
- flyteidl/gen/pb-go/gateway/flyteidl/service/admin.swagger.json - Reason: Filter setting
- flyteidl/gen/pb-go/gateway/flyteidl/service/agent.swagger.json - Reason: Filter setting
- rfc/system/RFC-5659-execution-concurrency.md - Reason: Filter setting
-
Tools
- Whispers (Secret Scanner) - ✔︎ Successful
- Detect-secrets (Secret Scanner) - ✔︎ Successful
Bito Usage Guide
Commands
Type the following command in the pull request comment and save the comment.
/review- Manually triggers a full AI review.
Refer to the documentation for additional commands.
Configuration
This repository uses code_review_bito You can customize the agent settings here or contact your Bito workspace admin at [email protected].
Documentation & Help
It would be awesome if this could make it into the next Flyte release -- we're stuck with some vulns in things like x/crypto as the fixes require 1.23+ now
Bito Automatic Review Failed - Technical Failure
Bito encountered technical difficulties while generating code feedback . To retry, type /review in a comment and save. If the issue persists, contact [email protected] and provide the following details:
Agent Run ID: 9408d770-36f9-4dd5-8d6f-dce91ccc14d4