This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 194ae8a60057a625af99b077a20ac5800570bef1
Author: Luca Burgazzoli <[email protected]>
AuthorDate: Wed Nov 24 15:30:33 2021 +0100

    fix(lint): context should be propagated (contextcheck)
---
 .golangci.yml                           |  1 -
 pkg/builder/s2i.go                      |  1 +
 pkg/cmd/run.go                          |  6 +++---
 pkg/cmd/run_help.go                     |  2 +-
 pkg/cmd/util_content.go                 | 20 ++++++++++----------
 pkg/cmd/util_content_test.go            | 15 ++++++++-------
 pkg/cmd/util_dependencies.go            |  6 +++---
 pkg/cmd/util_sources.go                 |  6 +++---
 pkg/controller/build/monitor_routine.go |  2 ++
 pkg/util/camel/catalog.go               |  2 +-
 10 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/.golangci.yml b/.golangci.yml
index c9af8be..e7eb670 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -55,6 +55,5 @@ linters:
     - nilnil
     - exhaustive
     - nakedret
-    - contextcheck
     - maligned
 
diff --git a/pkg/builder/s2i.go b/pkg/builder/s2i.go
index 2f7f488..153d0a3 100644
--- a/pkg/builder/s2i.go
+++ b/pkg/builder/s2i.go
@@ -209,6 +209,7 @@ func (t *s2iTask) Do(ctx context.Context) v1.BuildStatus {
        err = t.waitForS2iBuildCompletion(ctx, t.c, &s2iBuild)
        if err != nil {
                if errors.Is(err, context.Canceled) || errors.Is(err, 
context.DeadlineExceeded) {
+                       // nolint: contextcheck
                        if err := t.cancelBuild(context.Background(), 
&s2iBuild); err != nil {
                                log.Errorf(err, "cannot cancel s2i Build: 
%s/%s", s2iBuild.Namespace, s2iBuild.Name)
                        }
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index 261c530..ba01178 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -579,7 +579,7 @@ func (o *runCmdOptions) createOrUpdateIntegration(cmd 
*cobra.Command, c client.C
        }
 
        for _, resource := range o.OpenAPIs {
-               if err = addResource(resource, &integration.Spec, 
o.Compression, v1.ResourceTypeOpenAPI); err != nil {
+               if err = addResource(o.Context, resource, &integration.Spec, 
o.Compression, v1.ResourceTypeOpenAPI); err != nil {
                        return nil, err
                }
        }
@@ -686,8 +686,8 @@ func (o *runCmdOptions) createOrUpdateIntegration(cmd 
*cobra.Command, c client.C
        return integration, nil
 }
 
-func addResource(resourceLocation string, integrationSpec *v1.IntegrationSpec, 
enableCompression bool, resourceType v1.ResourceType) error {
-       if data, _, compressed, err := loadTextContent(resourceLocation, 
enableCompression); err == nil {
+func addResource(ctx context.Context, resourceLocation string, integrationSpec 
*v1.IntegrationSpec, enableCompression bool, resourceType v1.ResourceType) 
error {
+       if data, _, compressed, err := loadTextContent(ctx, resourceLocation, 
enableCompression); err == nil {
                integrationSpec.AddResources(v1.ResourceSpec{
                        DataSpec: v1.DataSpec{
                                Name:        path.Base(resourceLocation),
diff --git a/pkg/cmd/run_help.go b/pkg/cmd/run_help.go
index 645efef..38422de 100644
--- a/pkg/cmd/run_help.go
+++ b/pkg/cmd/run_help.go
@@ -210,7 +210,7 @@ func applyOption(config *RunConfigOption, integrationSpec 
*v1.IntegrationSpec,
                        return fmt.Errorf("you cannot provide a file larger 
than 1 MB (it was %s MB), check configmap option or --volume instead", 
printSize)
                }
                // Don't allow a binary non compressed resource
-               rawData, contentType, err := loadRawContent(config.Name())
+               rawData, contentType, err := 
loadRawContent(context.Background(), config.Name())
                if err != nil {
                        return err
                }
diff --git a/pkg/cmd/util_content.go b/pkg/cmd/util_content.go
index 0ec57a4..8b52a34 100644
--- a/pkg/cmd/util_content.go
+++ b/pkg/cmd/util_content.go
@@ -43,7 +43,7 @@ func fileSize(source string) (int64, error) {
        return fi.Size(), nil
 }
 
-func loadRawContent(source string) ([]byte, string, error) {
+func loadRawContent(ctx context.Context, source string) ([]byte, string, 
error) {
        var content []byte
        var err error
 
@@ -63,11 +63,11 @@ func loadRawContent(source string) ([]byte, string, error) {
 
                switch u.Scheme {
                case "github":
-                       content, err = loadContentGitHub(u)
+                       content, err = loadContentGitHub(ctx, u)
                case "http":
-                       content, err = loadContentHTTP(u)
+                       content, err = loadContentHTTP(ctx, u)
                case "https":
-                       content, err = loadContentHTTP(u)
+                       content, err = loadContentHTTP(ctx, u)
                default:
                        return nil, "", fmt.Errorf("missing file or unsupported 
scheme %s", u.Scheme)
                }
@@ -87,8 +87,8 @@ func isBinary(contentType string) bool {
        return !strings.HasPrefix(contentType, "text")
 }
 
-func loadTextContent(source string, base64Compression bool) (string, string, 
bool, error) {
-       content, contentType, err := loadRawContent(source)
+func loadTextContent(ctx context.Context, source string, base64Compression 
bool) (string, string, bool, error) {
+       content, contentType, err := loadRawContent(ctx, source)
        if err != nil {
                return "", "", false, err
        }
@@ -101,8 +101,8 @@ func loadTextContent(source string, base64Compression bool) 
(string, string, boo
        return string(content), contentType, false, nil
 }
 
-func loadContentHTTP(u fmt.Stringer) ([]byte, error) {
-       req, err := http.NewRequestWithContext(context.Background(), 
http.MethodGet, u.String(), nil)
+func loadContentHTTP(ctx context.Context, u fmt.Stringer) ([]byte, error) {
+       req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), 
nil)
        if err != nil {
                return nil, err
        }
@@ -124,7 +124,7 @@ func loadContentHTTP(u fmt.Stringer) ([]byte, error) {
        return io.ReadAll(resp.Body)
 }
 
-func loadContentGitHub(u *url.URL) ([]byte, error) {
+func loadContentGitHub(ctx context.Context, u *url.URL) ([]byte, error) {
        src := u.Scheme + ":" + u.Opaque
        re := regexp.MustCompile(`^github:([^/]+)/([^/]+)/(.+)$`)
 
@@ -144,5 +144,5 @@ func loadContentGitHub(u *url.URL) ([]byte, error) {
                return []byte{}, err
        }
 
-       return loadContentHTTP(rawURL)
+       return loadContentHTTP(ctx, rawURL)
 }
diff --git a/pkg/cmd/util_content_test.go b/pkg/cmd/util_content_test.go
index 5684ac8..388c867 100644
--- a/pkg/cmd/util_content_test.go
+++ b/pkg/cmd/util_content_test.go
@@ -18,6 +18,7 @@ limitations under the License.
 package cmd
 
 import (
+       "context"
        "fmt"
        "io/ioutil"
        "net/http"
@@ -30,7 +31,7 @@ import (
 )
 
 func TestRawContentFileMissing(t *testing.T) {
-       _, _, err := loadRawContent("dsadas")
+       _, _, err := loadRawContent(context.TODO(), "dsadas")
        assert.NotNil(t, err)
 }
 
@@ -43,7 +44,7 @@ func TestRawBinaryContentType(t *testing.T) {
        assert.Nil(t, tmpFile.Close())
        assert.Nil(t, ioutil.WriteFile(tmpFile.Name(), []byte{1, 2, 3, 4, 5, 
6}, 0o400))
 
-       data, contentType, err := loadRawContent(tmpFile.Name())
+       data, contentType, err := loadRawContent(context.TODO(), tmpFile.Name())
        assert.Nil(t, err)
        assert.Equal(t, []byte{1, 2, 3, 4, 5, 6}, data)
        assert.True(t, isBinary(contentType))
@@ -58,7 +59,7 @@ func TestRawApplicationContentType(t *testing.T) {
        assert.Nil(t, tmpFile.Close())
        assert.Nil(t, ioutil.WriteFile(tmpFile.Name(), 
[]byte(`{"hello":"world"}`), 0o400))
 
-       data, contentType, err := loadRawContent(tmpFile.Name())
+       data, contentType, err := loadRawContent(context.TODO(), tmpFile.Name())
        assert.Nil(t, err)
        assert.Equal(t, `{"hello":"world"}`, string(data))
        assert.False(t, isBinary(contentType))
@@ -73,7 +74,7 @@ func TestTextContentType(t *testing.T) {
        assert.Nil(t, tmpFile.Close())
        assert.Nil(t, ioutil.WriteFile(tmpFile.Name(), 
[]byte(`{"hello":"world"}`), 0o400))
 
-       data, contentType, compressed, err := loadTextContent(tmpFile.Name(), 
false)
+       data, contentType, compressed, err := loadTextContent(context.TODO(), 
tmpFile.Name(), false)
        assert.Nil(t, err)
        assert.Equal(t, `{"hello":"world"}`, data)
        assert.False(t, isBinary(contentType))
@@ -89,7 +90,7 @@ func TestTextCompressed(t *testing.T) {
        assert.Nil(t, tmpFile.Close())
        assert.Nil(t, ioutil.WriteFile(tmpFile.Name(), 
[]byte(`{"hello":"world"}`), 0o400))
 
-       data, contentType, compressed, err := loadTextContent(tmpFile.Name(), 
true)
+       data, contentType, compressed, err := loadTextContent(context.TODO(), 
tmpFile.Name(), true)
        assert.Nil(t, err)
        assert.NotEqual(t, `{"hello":"world"}`, data)
        assert.False(t, isBinary(contentType))
@@ -105,14 +106,14 @@ func TestIsBinary(t *testing.T) {
 func TestContentHttp(t *testing.T) {
        expected := "the content"
        svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, 
r *http.Request) {
-               _, _ = fmt.Fprintf(w, expected)
+               _, _ = fmt.Fprint(w, expected)
        }))
        defer svr.Close()
 
        u, err := url.Parse(svr.URL)
        assert.Nil(t, err)
 
-       data, err := loadContentHTTP(u)
+       data, err := loadContentHTTP(context.TODO(), u)
        assert.Nil(t, err)
        assert.NotEmpty(t, data)
        assert.Equal(t, expected, string(data))
diff --git a/pkg/cmd/util_dependencies.go b/pkg/cmd/util_dependencies.go
index 351091f..5f0a758 100644
--- a/pkg/cmd/util_dependencies.go
+++ b/pkg/cmd/util_dependencies.go
@@ -51,7 +51,7 @@ func getDependencies(ctx context.Context, args []string, 
additionalDependencies
        }
 
        // Get top-level dependencies
-       dependencies, err := getTopLevelDependencies(catalog, args)
+       dependencies, err := getTopLevelDependencies(ctx, catalog, args)
        if err != nil {
                return nil, err
        }
@@ -75,13 +75,13 @@ func getDependencies(ctx context.Context, args []string, 
additionalDependencies
        return dependencies, nil
 }
 
-func getTopLevelDependencies(catalog *camel.RuntimeCatalog, args []string) 
([]string, error) {
+func getTopLevelDependencies(ctx context.Context, catalog 
*camel.RuntimeCatalog, args []string) ([]string, error) {
        // List of top-level dependencies
        dependencies := strset.New()
 
        // Invoke the dependency inspector code for each source file
        for _, source := range args {
-               data, _, _, err := loadTextContent(source, false)
+               data, _, _, err := loadTextContent(ctx, source, false)
                if err != nil {
                        return []string{}, err
                }
diff --git a/pkg/cmd/util_sources.go b/pkg/cmd/util_sources.go
index fc9e624..4765535 100644
--- a/pkg/cmd/util_sources.go
+++ b/pkg/cmd/util_sources.go
@@ -140,7 +140,7 @@ func ResolveSources(ctx context.Context, locations 
[]string, compress bool) ([]S
                                        Compress: compress,
                                }
 
-                               content, err := loadContentGitHub(u)
+                               content, err := loadContentGitHub(ctx, u)
                                if err != nil {
                                        return sources, err
                                }
@@ -156,7 +156,7 @@ func ResolveSources(ctx context.Context, locations 
[]string, compress bool) ([]S
                                        Compress: compress,
                                }
 
-                               content, err := loadContentHTTP(u)
+                               content, err := loadContentHTTP(ctx, u)
                                if err != nil {
                                        return sources, err
                                }
@@ -172,7 +172,7 @@ func ResolveSources(ctx context.Context, locations 
[]string, compress bool) ([]S
                                        Compress: compress,
                                }
 
-                               content, err := loadContentHTTP(u)
+                               content, err := loadContentHTTP(ctx, u)
                                if err != nil {
                                        return sources, err
                                }
diff --git a/pkg/controller/build/monitor_routine.go 
b/pkg/controller/build/monitor_routine.go
index aec80b8..cea4d0b 100644
--- a/pkg/controller/build/monitor_routine.go
+++ b/pkg/controller/build/monitor_routine.go
@@ -75,6 +75,8 @@ func (action *monitorRoutineAction) Handle(ctx 
context.Context, build *v1.Build)
                }
                // Start the build asynchronously to avoid blocking the 
reconciliation loop
                routines.Store(build.Name, true)
+
+               // nolint: contextcheck
                go action.runBuild(build)
 
        case v1.BuildPhaseRunning:
diff --git a/pkg/util/camel/catalog.go b/pkg/util/camel/catalog.go
index 531e791..f47cf61 100644
--- a/pkg/util/camel/catalog.go
+++ b/pkg/util/camel/catalog.go
@@ -124,7 +124,7 @@ func GenerateCatalogCommon(
        if caCert != nil {
                trustStoreName := "trust.jks"
                trustStorePass := jvm.NewKeystorePassword()
-               err := jvm.GenerateKeystore(context.Background(), tmpDir, 
trustStoreName, trustStorePass, caCert)
+               err := jvm.GenerateKeystore(ctx, tmpDir, trustStoreName, 
trustStorePass, caCert)
                if err != nil {
                        return nil, err
                }

Reply via email to