Use //go:fix inline and go fix to modernize codebase
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- go
- Ambito
- build-system, tooling
Direzione di ricerca
Inizia da go.mod ed esegui go fix ./... dopo aver esaminato pkg/client/informers/externalversions/factory.go e i tipi API deprecati in pkg/apis/operator/v1alpha1/. Verifica le modifiche risultanti rispetto al prerequisito della pipeline nell’issue #9560, quindi esegui i test del repository. Il lavoro è completato quando la migrazione a Go 1.26, le annotazioni applicabili e le modernizzazioni sono state esaminate e convalidate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Go 1.26 introduced a rewritten go fix subcommand with a source-level inliner. The //go:fix inline directive allows annotating deprecated functions, type aliases, and variables so that go fix (or IDEs) automatically rewrite call sites to the modern replacement.
For tektoncd/operator this is relevant in two ways:
-
As a consumer: Once tektoncd/pipeline adds
//go:fix inlineannotations to its deprecated APIs, operator can rungo fix ./...to auto-migrate usage of deprecated pipeline types and functions. -
Own deprecated APIs: operator has deprecated fields and generated code that could be annotated.
Prerequisite
Bump go.mod to Go 1.26 (currently at 1.25.5).
Opportunities
Own Deprecated APIs
The generated informer factory has the common deprecated wrapper pattern:
// pkg/client/informers/externalversions/factory.go
// Deprecated: Please use NewSharedInformerFactoryWithOptions instead
//
//go:fix inline
func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory {
return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions))
}
Deprecated fields in the operator API types (pkg/apis/operator/v1alpha1/) could also benefit from annotation where applicable.
Consuming pipeline's annotations
Once tektoncd/pipeline annotates its deprecated APIs (tektoncd/pipeline#9560), running go fix ./... in operator will automatically migrate:
- Deprecated type aliases (e.g.
ArrayOrString→ParamValue) - Deprecated wrapper functions
- Deprecated resolution package imports
Go 1.26 built-in modernizers
Beyond //go:fix inline, Go 1.26's go fix ships with 24+ built-in modernizers that automatically apply improvements like using slices.Sort, min/max builtins, strings.Cut, and more. Running go fix ./... after bumping to Go 1.26 would apply all applicable modernizations.
References
- //go:fix inline and the source-level inliner
- Using go fix to modernize Go code
- Related: tektoncd/pipeline#9560
- Lingua principale
- Go
- Stelle
- 606
- Fork
- 270
- Merge medio
- 1g 7h
- PR unite (30g)
- 159
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tektoncd/operator
-
Broken links in the docsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
kind/feature
Difficoltà 4/5 Più di una settimana Idoneità per principianti 30/100
tektoncd/operator#4275 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
kind/feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
tektoncd/operator#3977 · 2 commenti · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Support trusted provider hostnames for Pipelines as CodeForse già presa @jkhelil l’ha presa 36 giorni fa. Apertaarea/dependency kind/feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
tektoncd/operator#3946 · 1 commento · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
kind/feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
tektoncd/operator#3922 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di tektoncd/operator
Issue simili
-
[Bug] Custom tool truncation leaves unused stream copies openForse già presa @OUAO-FRANK l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
[v3] KeyBindingManager calls (Add/Remove) are not converted into a case-insensitive accelerator.KeyApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
crmne/hyprmoncfg#114 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
runtime: usleep sleeps nanoseconds instead of microseconds on linux/mips and linux/mips64Forse già presa @BRobertson7 l’ha presa oggi. Apertacompiler/runtime
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
golang/go#82913 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100