Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/flyte-binary-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@ jobs:
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v9
with:
working-directory: docker/devbox-bundled/bootstrap
version: v2.6.2
- name: Check formatting
working-directory: docker/devbox-bundled/bootstrap
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/go-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24"
go-version: "1.25"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we go 1.26?

cache: true

- name: Cache embedded postgres
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Thank you for your interest in contributing to Flyte 2! This guide will help you

Before contributing, ensure you have:
- [Buf CLI](https://buf.build/docs/installation) installed
- Go 1.24.6 or later
- Go 1.25.7 or later
- Node.js and npm (for TypeScript)
- Python 3.10+ with `uv` package manager
- Rust toolchain (if working with Rust bindings)
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Todo(alex): We should add UI into the image when UI is done

FROM --platform=${BUILDPLATFORM} golang:1.24-bookworm AS flytebuilder
FROM --platform=${BUILDPLATFORM} golang:1.25-bookworm AS flytebuilder

ARG TARGETARCH
ENV GOARCH="${TARGETARCH}"
Expand Down
337 changes: 198 additions & 139 deletions boilerplate/flyte/golang_support_tools/go.mod

Large diffs are not rendered by default.

917 changes: 495 additions & 422 deletions boilerplate/flyte/golang_support_tools/go.sum

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions boilerplate/flyte/golang_support_tools/tools.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
package tools

import (
_ "github.com/vektra/mockery/v3/cmd"
_ "github.com/alvaroloes/enumer"
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
_ "github.com/golangci/golangci-lint/v2/cmd/golangci-lint"
_ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc"
_ "github.com/vektra/mockery/tools/cmd"

_ "github.com/flyteorg/flyte/flytestdlib/cli/pflags"
)
2 changes: 1 addition & 1 deletion boilerplate/flyte/golang_test_targets/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ generate: download_tooling #generate go code

.PHONY: lint
lint: download_tooling #lints the package for common code smells
GL_DEBUG=linters_output,env golangci-lint run $(LINT_FLAGS) --timeout=5m --exclude deprecated -v
GL_DEBUG=linters_output,env golangci-lint run $(LINT_FLAGS) --timeout=5m -v

.PHONY: lint-fix
lint-fix: LINT_FLAGS=--fix
Expand Down
4 changes: 2 additions & 2 deletions boilerplate/flyte/golang_test_targets/download_tooling.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ set -e
# List of tools to go get
# In the format of "<cli>:<package>" or ":<package>" if no cli
tools=(
"github.com/vektra/mockery/v3@v3.7.0"
"github.com/golangci/golangci-lint/cmd/golangci-lint"
"github.com/vektra/mockery/tools@v0.0.0-20260415212850-680532c11aba"
"github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.6.2"
"github.com/daixiang0/gci"
"github.com/alvaroloes/enumer"
"github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc"
Expand Down
45 changes: 23 additions & 22 deletions boilerplate/flyte/golangci_file/.golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,39 @@
#
# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst

version: "2"
run:
skip-dirs:
- pkg/client

allow-parallel-runners: true
linters:
disable-all: true
default: none
enable:
- deadcode
- copyloopvar
- dupl
- errcheck
- gas
- gci
- ginkgolinter
- goconst
- goimports
- golint
- gosimple
- gocyclo
- govet
- ineffassign
- lll
- misspell
- nakedret
- prealloc
- revive
- staticcheck
- structcheck
- typecheck
- unconvert
- unparam
- unused
- varcheck

linters-settings:
gci:
custom-order: true
sections:
- standard
- default
- prefix(github.com/flyteorg)
skip-generated: true
settings:
revive:
rules:
- name: comment-spacings
- name: import-shadowing
exclusions:
generated: lax
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
2 changes: 1 addition & 1 deletion docker/devbox-bundled/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ COPY images/manifest.txt images/preload ./
RUN ./preload manifest.txt


FROM --platform=${BUILDPLATFORM} golang:1.24-bullseye AS bootstrap
FROM --platform=${BUILDPLATFORM} golang:1.25-bookworm AS bootstrap

ARG TARGETARCH
ENV CGO_ENABLED 0
Expand Down
4 changes: 2 additions & 2 deletions docs/BACKEND_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ flyte/
## Prerequisites

- [Buf CLI](https://buf.build/docs/installation) - Protocol buffer tooling
- Go 1.24.6 or later
- Go 1.25.7 or later
- Node.js/npm (for TypeScript generation)
- Python 3.9+ with `uv` package manager (for Python generation)
- Rust toolchain (for Rust generation)
Expand Down Expand Up @@ -152,7 +152,7 @@ The `gen/` directory contains auto-generated code and should not be manually edi

### Go Module Issues
- Run `make go-tidy` to clean up dependencies
- Ensure you're using Go 1.24.6 or later
- Ensure you're using Go 1.25.7 or later

### Python Generation Issues
- Ensure `uv` is installed: `pip install uv`
Expand Down
2 changes: 1 addition & 1 deletion executor/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Kubebuilder DevContainer",
"image": "golang:1.24",
"image": "golang:1.25",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/git:1": {}
Expand Down
4 changes: 2 additions & 2 deletions executor/.github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ jobs:
go-version-file: go.mod

- name: Run linter
uses: golangci/golangci-lint-action@v8
uses: golangci/golangci-lint-action@v9
with:
version: v2.4.0
version: v2.6.2
2 changes: 1 addition & 1 deletion executor/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.24 AS builder
FROM golang:1.25 AS builder
ARG TARGETOS
ARG TARGETARCH

Expand Down
2 changes: 1 addition & 1 deletion executor/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ CONTROLLER_TOOLS_VERSION ?= v0.19.0
ENVTEST_VERSION ?= $(shell go list -m -f "{{ .Version }}" sigs.k8s.io/controller-runtime | awk -F'[v.]' '{printf "release-%d.%d", $$2, $$3}')
#ENVTEST_K8S_VERSION is the version of Kubernetes to use for setting up ENVTEST binaries (i.e. 1.31)
ENVTEST_K8S_VERSION ?= $(shell go list -m -f "{{ .Version }}" k8s.io/api | awk -F'[v.]' '{printf "1.%d", $$3}')
GOLANGCI_LINT_VERSION ?= v2.4.0
GOLANGCI_LINT_VERSION ?= v2.6.2

.PHONY: kustomize
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary.
Expand Down
2 changes: 1 addition & 1 deletion executor/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"
"os"

"github.com/flyteorg/flyte/v2/flytestdlib/app"
"github.com/flyteorg/flyte/v2/executor"
"github.com/flyteorg/flyte/v2/flytestdlib/app"
ctrl "sigs.k8s.io/controller-runtime"
)

Expand Down
2 changes: 1 addition & 1 deletion executor/pkg/controller/output_refs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,4 @@ func TestOutputRefs(t *testing.T) {
assert.NotEmpty(t, dir)
assert.NotEqual(t, refs.GetOutputUri(), dir, "TrimSuffix should have removed /outputs.pb")
})
}
}
2 changes: 1 addition & 1 deletion executor/pkg/controller/taskaction_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,7 @@ func (r *TaskActionReconciler) updateTaskActionStatus(
}

// The retry.RetryOnConflict will refetch the k8s resource to get the latest resource version
// This will resovle the conflict error caused by k8s optimistic lock when 2 reconcile loops updating the same CRD
// This will resolve the conflict error caused by k8s optimistic lock when 2 reconcile loops updating the same CRD
if err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
latest := &flyteorgv1.TaskAction{}
if getErr := r.Get(ctx, client.ObjectKeyFromObject(newTaskAction), latest); getErr != nil {
Expand Down
10 changes: 6 additions & 4 deletions executor/pkg/controller/taskaction_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ type fakePlugin struct {
abortCalls int
}

func (f *fakePlugin) GetID() string { return f.id }
func (f *fakePlugin) GetProperties() pluginsCore.PluginProperties { return pluginsCore.PluginProperties{} }
func (f *fakePlugin) GetID() string { return f.id }
func (f *fakePlugin) GetProperties() pluginsCore.PluginProperties {
return pluginsCore.PluginProperties{}
}
func (f *fakePlugin) Handle(_ context.Context, _ pluginsCore.TaskExecutionContext) (pluginsCore.Transition, error) {
return pluginsCore.UnknownTransition, nil
}
Expand Down Expand Up @@ -540,8 +542,8 @@ var _ = Describe("TaskAction Controller", func() {
BeforeEach(func() {
resource := &flyteorgv1.TaskAction{
ObjectMeta: metav1.ObjectMeta{
Name: abortResourceName,
Namespace: "default",
Name: abortResourceName,
Namespace: "default",
Finalizers: []string{taskActionFinalizer},
},
Spec: flyteorgv1.TaskActionSpec{
Expand Down
2 changes: 1 addition & 1 deletion executor/pkg/plugin/compute_action_output_path_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,4 @@ func TestComputeActionOutputPath(t *testing.T) {
_, err := ComputeActionOutputPath(ctx, "flyte", "my-action-abc", "://bad url", "action-0", 1)
assert.Error(t, err)
})
}
}
4 changes: 2 additions & 2 deletions executor/pkg/webhook/pod.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func getPodMutatePath() string {
}

func generateMutatePath(gvk schema.GroupVersionKind) string {
return "/mutate-" + strings.Replace(gvk.Group, ".", "-", -1) + "-" +
return "/mutate-" + strings.ReplaceAll(gvk.Group, ".", "-") + "-" +
gvk.Version + "-" + strings.ToLower(gvk.Kind)
}

Expand All @@ -102,7 +102,7 @@ func (pm PodMutator) CreateMutationWebhookConfiguration(namespace string) (*admi
},
Webhooks: []admissionregistrationv1.MutatingWebhook{
{
Name: webhookName,
Name: webhookName,
ClientConfig: admissionregistrationv1.WebhookClientConfig{
CABundle: caBytes,
Service: &admissionregistrationv1.ServiceReference{
Expand Down
2 changes: 1 addition & 1 deletion executor/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import (
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
"sigs.k8s.io/controller-runtime/pkg/webhook"

"github.com/flyteorg/flyte/v2/flytestdlib/app"
flyteorgv1 "github.com/flyteorg/flyte/v2/executor/api/v1"
"github.com/flyteorg/flyte/v2/executor/pkg/config"
"github.com/flyteorg/flyte/v2/executor/pkg/controller"
Expand All @@ -28,6 +27,7 @@ import (
"github.com/flyteorg/flyte/v2/flyteplugins/go/tasks/pluginmachinery/catalog"
cachecatalog "github.com/flyteorg/flyte/v2/flyteplugins/go/tasks/pluginmachinery/catalog/cache_service"
webhookConfig "github.com/flyteorg/flyte/v2/flyteplugins/go/tasks/pluginmachinery/secret/config"
"github.com/flyteorg/flyte/v2/flytestdlib/app"
"github.com/flyteorg/flyte/v2/flytestdlib/promutils"
"github.com/flyteorg/flyte/v2/flytestdlib/storage"
"github.com/flyteorg/flyte/v2/gen/go/flyteidl2/workflow/workflowconnect"
Expand Down
42 changes: 23 additions & 19 deletions flytecopilot/.golangci.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,36 @@
version: "2"
run:
skip-dirs:
- pkg/client
allow-parallel-runners: true
linters:
disable-all: true
default: none
enable:
- copyloopvar
- dupl
- errcheck
- gosec
- gci
- ginkgolinter
- goconst
- goimports
- gosimple
- gocyclo
- govet
- ineffassign
- lll
- misspell
- nakedret
- prealloc
- revive
- staticcheck
- typecheck
- unconvert
- unparam
- unused
- protogetter
linters-settings:
gci:
custom-order: true
sections:
- standard
- default
- prefix(github.com/flyteorg)
skip-generated: true
goconst:
ignore-tests: true
settings:
revive:
rules:
- name: comment-spacings
- name: import-shadowing
exclusions:
generated: lax
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
1 change: 0 additions & 1 deletion flytecopilot/data/download.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ func (d Downloader) handleBlob(ctx context.Context, blob *core.Blob, toPath stri
var mu sync.Mutex
var wg sync.WaitGroup
for _, absPath := range absPaths {
absPath := absPath

wg.Add(1)
go func() {
Expand Down
Loading
Loading