Skip to content

🌱 Migrate golangci.yaml to v2 #295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: renovate/major-42-github-actions
Choose a base branch
from
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
445 changes: 205 additions & 240 deletions .golangci.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ ifeq ($(BUILD_IN_CONTAINER),true)
else
go version
golangci-lint version
GO111MODULE=on golangci-lint run -v --out-format=colored-line-number
GO111MODULE=on golangci-lint run -v --output.text.colors=true
endif

.PHONY: lint-yaml
Expand Down
4 changes: 2 additions & 2 deletions api/v1alpha1/resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ limitations under the License.
package v1alpha1

import (
"fmt"
"errors"

"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
)

// ErrNilInput indicates a nil input.
var ErrNilInput = fmt.Errorf("nil input")
var ErrNilInput = errors.New("nil input")

// Resource defines the status of a resource.
type Resource struct {
Expand Down
81 changes: 40 additions & 41 deletions internal/controller/clusteraddon_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re

// usually this is only nil in unit tests
if restConfig != nil {
restConfig.QPS = r.RestConfigSettings.QPS
restConfig.Burst = r.RestConfigSettings.Burst
restConfig.QPS = r.QPS
restConfig.Burst = r.Burst

clientSet, err := kubernetes.NewForConfig(restConfig)
if err != nil {
Expand Down Expand Up @@ -860,52 +860,51 @@ check:

in.clusterAddon.SetStagePhase(stage.Name, stage.Action, csov1alpha1.StagePhaseWaitingForPostCondition)
goto check
} else {
// Delete part
logger.V(1).Info("starting to template helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)
helmTemplate, err := helmTemplateNewClusterStack(in, stage.Name)
if err != nil {
conditions.MarkFalse(
in.clusterAddon,
csov1alpha1.HelmChartTemplatedCondition,
csov1alpha1.TemplateNewClusterStackFailedReason,
clusterv1.ConditionSeverityError,
"failed to template new helm chart: %s", err.Error(),
)
}
// Delete part
logger.V(1).Info("starting to template helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)
helmTemplate, err := helmTemplateNewClusterStack(in, stage.Name)
if err != nil {
conditions.MarkFalse(
in.clusterAddon,
csov1alpha1.HelmChartTemplatedCondition,
csov1alpha1.TemplateNewClusterStackFailedReason,
clusterv1.ConditionSeverityError,
"failed to template new helm chart: %s", err.Error(),
)

return false, nil
}
logger.V(1).Info("finished templating helm chart and starting to delete helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)
return false, nil
}
logger.V(1).Info("finished templating helm chart and starting to delete helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)

deletedResources, shouldRequeue, err := in.kubeClient.DeleteNewClusterStack(ctx, helmTemplate)
if err != nil {
conditions.MarkFalse(
in.clusterAddon,
csov1alpha1.HelmChartDeletedCondition,
csov1alpha1.FailedToDeleteObjectsReason,
clusterv1.ConditionSeverityInfo,
"failed to successfully delete helm chart: %q", stage.Name,
)
deletedResources, shouldRequeue, err := in.kubeClient.DeleteNewClusterStack(ctx, helmTemplate)
if err != nil {
conditions.MarkFalse(
in.clusterAddon,
csov1alpha1.HelmChartDeletedCondition,
csov1alpha1.FailedToDeleteObjectsReason,
clusterv1.ConditionSeverityInfo,
"failed to successfully delete helm chart: %q", stage.Name,
)

return false, fmt.Errorf("failed to delete objects from cluster addon Helm chart: %w", err)
}
if shouldRequeue {
return true, nil
}
return false, fmt.Errorf("failed to delete objects from cluster addon Helm chart: %w", err)
}
if shouldRequeue {
return true, nil
}

// This is for the current stage objects and will be removed once done.
in.clusterAddon.Status.Resources = deletedResources
logger.V(1).Info("finished deleting helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)
// This is for the current stage objects and will be removed once done.
in.clusterAddon.Status.Resources = deletedResources
logger.V(1).Info("finished deleting helm chart", "clusterStack", in.clusterAddon.Spec.ClusterStack, "name", stage.Name, "hook", in.clusterAddon.Spec.Hook)

// remove status resource if deleted successfully
in.clusterAddon.Status.Resources = make([]*csov1alpha1.Resource, 0)
// remove status resource if deleted successfully
in.clusterAddon.Status.Resources = make([]*csov1alpha1.Resource, 0)

// delete the false condition with failed to apply reason
conditions.Delete(in.clusterAddon, csov1alpha1.HelmChartDeletedCondition)
// delete the false condition with failed to apply reason
conditions.Delete(in.clusterAddon, csov1alpha1.HelmChartDeletedCondition)

in.clusterAddon.SetStagePhase(stage.Name, stage.Action, csov1alpha1.StagePhaseWaitingForPostCondition)
goto check
}
in.clusterAddon.SetStagePhase(stage.Name, stage.Action, csov1alpha1.StagePhaseWaitingForPostCondition)
goto check

case csov1alpha1.StagePhaseWaitingForPostCondition:
// If WaitForPostCondition is mentioned.
Expand Down
11 changes: 6 additions & 5 deletions internal/controller/clusterstack_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package controller

import (
"context"
"errors"
"fmt"
"reflect"
"sort"
Expand Down Expand Up @@ -321,7 +322,7 @@ func (r *ClusterStackReconciler) createOrUpdateProviderClusterStackRelease(ctx c
// update if it exists already and should be updated
if existsAlready {
if shouldUpdate {
if err := r.Client.Update(ctx, to); err != nil {
if err := r.Update(ctx, to); err != nil {
return nil, fmt.Errorf("failed to update object: %w", err)
}
record.Eventf(clusterStack, "UpdateProviderStackRelease", "Updated ProviderClusterStackRelease %s", name)
Expand All @@ -330,7 +331,7 @@ func (r *ClusterStackReconciler) createOrUpdateProviderClusterStackRelease(ctx c
}

// object does not exist yet - create it
if err := r.Client.Create(ctx, to); err != nil {
if err := r.Create(ctx, to); err != nil {
return nil, fmt.Errorf("failed to create object: %w", err)
}

Expand Down Expand Up @@ -646,15 +647,15 @@ func unstructuredSpecEqual(oldObj, newObj map[string]interface{}) (newSpec map[s
return nil, false, fmt.Errorf("failed to retrieve spec map of object: %w", err)
}
if !isEqual {
return nil, false, fmt.Errorf("missing spec")
return nil, false, errors.New("missing spec")
}

newSpec, isEqual, err = unstructured.NestedMap(newObj, "spec")
if err != nil {
return nil, false, fmt.Errorf("failed to retrieve spec map of object: %w", err)
}
if !isEqual {
return nil, false, fmt.Errorf("missing spec")
return nil, false, errors.New("missing spec")
}

return newSpec, reflect.DeepEqual(oldSpec, newSpec), nil
Expand Down Expand Up @@ -726,7 +727,7 @@ func (*ClusterStackReconciler) ClusterStackReleaseToClusterStack(ctx context.Con
}

// check if the controller reference is already set and return an empty result when one is found.
for _, ref := range m.ObjectMeta.GetOwnerReferences() {
for _, ref := range m.GetOwnerReferences() {
result = append(result, reconcile.Request{NamespacedName: types.NamespacedName{Name: ref.Name, Namespace: m.Namespace}})
}

Expand Down
7 changes: 4 additions & 3 deletions internal/controller/clusterstackrelease_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package controller
import (
"bytes"
"context"
"errors"
"fmt"
"os"
"os/exec"
Expand Down Expand Up @@ -264,7 +265,7 @@ func (r *ClusterStackReleaseReconciler) updateProviderClusterStackRelease(ctx co
return false, fmt.Errorf("failed to create patch helper for ProviderClusterStackRelease: %w", err)
}

if err := controllerutil.SetControllerReference(clusterStackRelease, providerClusterStackRelease, r.Client.Scheme()); err != nil {
if err := controllerutil.SetControllerReference(clusterStackRelease, providerClusterStackRelease, r.Scheme()); err != nil {
return false, fmt.Errorf("failed to set owner reference to ProviderClusterStackRelease: %w", err)
}

Expand All @@ -273,7 +274,7 @@ func (r *ClusterStackReleaseReconciler) updateProviderClusterStackRelease(ctx co
}

// ensure we add a watch to the external object, if there isn't one already
eventHandler := handler.EnqueueRequestForOwner(r.Client.Scheme(), r.Client.RESTMapper(), &csov1alpha1.ClusterStackRelease{})
eventHandler := handler.EnqueueRequestForOwner(r.Scheme(), r.RESTMapper(), &csov1alpha1.ClusterStackRelease{})
if err := r.externalTracker.Watch(log.FromContext(ctx), providerClusterStackRelease, eventHandler); err != nil {
return false, fmt.Errorf("failed to add external watch to ProviderClusterStackRelease: %w", err)
}
Expand Down Expand Up @@ -302,7 +303,7 @@ func (r *ClusterStackReleaseReconciler) templateAndApply(ctx context.Context, re
}

if template == nil {
return false, fmt.Errorf("template is empty")
return false, errors.New("template is empty")
}

newResources, shouldRequeue, err := kubeClient.Apply(ctx, template, clusterStackRelease.Status.Resources)
Expand Down
2 changes: 1 addition & 1 deletion internal/controller/controller_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ var _ = BeforeSuite(func() {
Expect(testEnv.StartManager(ctx)).To(Succeed())
}()

<-testEnv.Manager.Elected()
<-testEnv.Elected()
// wait for webhook port to be open prior to running tests
testEnv.WaitForWebhooks()
})
Expand Down
6 changes: 3 additions & 3 deletions internal/test/helpers/envtest.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ func NewTestEnvironment() *TestEnvironment {
func (t *TestEnvironment) StartManager(ctx context.Context) error {
ctx, cancel := context.WithCancel(ctx)
t.cancel = cancel
if err := t.Manager.Start(ctx); err != nil {
if err := t.Start(ctx); err != nil {
return fmt.Errorf("failed to start manager: %w", err)
}
return nil
Expand Down Expand Up @@ -292,7 +292,7 @@ func (t *TestEnvironment) Stop() error {
func (t *TestEnvironment) Cleanup(ctx context.Context, objs ...client.Object) error {
errs := make([]error, 0, len(objs))
for _, o := range objs {
err := t.Client.Delete(ctx, o)
err := t.Delete(ctx, o)
if apierrors.IsNotFound(err) {
// If the object is not found, it must've been garbage collected
// already. For example, if we delete namespace first and then
Expand All @@ -314,7 +314,7 @@ func (t *TestEnvironment) CreateNamespace(ctx context.Context, generateName stri
},
},
}
if err := t.Client.Create(ctx, ns); err != nil {
if err := t.Create(ctx, ns); err != nil {
return nil, fmt.Errorf("failed to create namespace: %w", err)
}

Expand Down
2 changes: 1 addition & 1 deletion internal/test/integration/github/integration_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ var _ = BeforeSuite(func() {
defer GinkgoRecover()
Expect(testEnv.StartManager(ctx)).To(Succeed())
}()
<-testEnv.Manager.Elected()
<-testEnv.Elected()
})

var _ = AfterSuite(func() {
Expand Down
2 changes: 1 addition & 1 deletion internal/test/integration/oci/integration_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ var _ = BeforeSuite(func() {
Expect(testEnv.StartManager(ctx)).To(Succeed())
}()

<-testEnv.Manager.Elected()
<-testEnv.Elected()

// wait for webhook port to be open prior to running tests
testEnv.WaitForWebhooks()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ var _ = BeforeSuite(func() {
Expect(testEnv.StartManager(ctx)).To(Succeed())
}()

<-testEnv.Manager.Elected()
<-testEnv.Elected()
})

var _ = AfterSuite(func() {
Expand Down
7 changes: 4 additions & 3 deletions pkg/clusterstack/clusterstack.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ limitations under the License.
package clusterstack

import (
"errors"
"fmt"
"strings"

Expand Down Expand Up @@ -48,11 +49,11 @@ type ClusterStack struct {

var (
// ErrInvalidFormat indicates a cluster stack string has an invalid format.
ErrInvalidFormat = fmt.Errorf("invalid format")
ErrInvalidFormat = errors.New("invalid format")
// ErrInvalidProvider indicates a cluster stack string has an invalid provider.
ErrInvalidProvider = fmt.Errorf("invalid provider")
ErrInvalidProvider = errors.New("invalid provider")
// ErrInvalidName indicates a cluster stack string has an invalid name.
ErrInvalidName = fmt.Errorf("invalid name")
ErrInvalidName = errors.New("invalid name")
)

// NewFromClusterClassProperties returns a ClusterStack based on a cluster stack string.
Expand Down
2 changes: 1 addition & 1 deletion pkg/kube/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ func getName(obj runtime.Object) (string, error) {
case metav1.Object:
return t.GetName(), nil
default:
return "", fmt.Errorf("object does not implement GetName()")
return "", errors.New("object does not implement GetName()")
}
}

Expand Down
7 changes: 4 additions & 3 deletions pkg/kubernetesversion/kubernetesversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ limitations under the License.
package kubernetesversion

import (
"errors"
"fmt"
"strconv"
"strings"
Expand All @@ -31,13 +32,13 @@ type KubernetesVersion struct {

var (
// ErrInvalidFormat is used for invalid format.
ErrInvalidFormat = fmt.Errorf("invalid format")
ErrInvalidFormat = errors.New("invalid format")

// ErrInvalidMajorVersion is used for invalid major version.
ErrInvalidMajorVersion = fmt.Errorf("invalid major version")
ErrInvalidMajorVersion = errors.New("invalid major version")

// ErrInvalidMinorVersion is used for invalid minor version.
ErrInvalidMinorVersion = fmt.Errorf("invalid minor version")
ErrInvalidMinorVersion = errors.New("invalid minor version")
)

// New returns a kubernetes version from specified major and minor version.
Expand Down
3 changes: 2 additions & 1 deletion pkg/release/metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ limitations under the License.
package release

import (
"errors"
"fmt"
)

// ErrEmptyVersion indicates that the version is empty.
var ErrEmptyVersion = fmt.Errorf("empty version")
var ErrEmptyVersion = errors.New("empty version")

// Metadata is the metadata for cluster stacks.
type Metadata struct {
Expand Down
7 changes: 4 additions & 3 deletions pkg/release/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ limitations under the License.
package release

import (
"errors"
"fmt"
"os"
"path/filepath"
Expand All @@ -38,11 +39,11 @@ type Release struct {

var (
// ErrEmptyReleaseName indicates release name is not provided.
ErrEmptyReleaseName = fmt.Errorf("name is empty")
ErrEmptyReleaseName = errors.New("name is empty")
// ErrEmptyReleaseCSR indicates cluster stack is not provided.
ErrEmptyReleaseCSR = fmt.Errorf("cluster stack is empty")
ErrEmptyReleaseCSR = errors.New("cluster stack is empty")
// ErrEmptyReleaseDownloadPath indicates download path is not provided.
ErrEmptyReleaseDownloadPath = fmt.Errorf("local download path is empty")
ErrEmptyReleaseDownloadPath = errors.New("local download path is empty")
)

const (
Expand Down
Loading