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
10 changes: 10 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,21 @@ linters:

revive:
rules:
- name: early-return # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
arguments:
- preserveScope
- name: empty-block # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-block
- name: empty-lines # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
- name: if-return # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#if-return
- name: import-shadowing # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-shadowing
- name: indent-error-flow # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#indent-error-flow
arguments:
- preserveScope
- name: line-length-limit # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#line-length-limit
arguments: [200]
- name: superfluous-else # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#superfluous-else
arguments:
- preserveScope
- name: unused-receiver # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-receiver
- name: use-any # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#use-any

Expand Down
29 changes: 14 additions & 15 deletions cli/command/container/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -344,24 +344,23 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c
response, err := dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, platform, options.name)
if err != nil {
// Pull image if it does not exist locally and we have the PullImageMissing option. Default behavior.
if errdefs.IsNotFound(err) && namedRef != nil && options.pull == PullImageMissing {
if !options.quiet {
// we don't want to write to stdout anything apart from container.ID
_, _ = fmt.Fprintf(dockerCli.Err(), "Unable to find image '%s' locally\n", reference.FamiliarString(namedRef))
}

if err := pullAndTagImage(); err != nil {
return "", err
}
if !errdefs.IsNotFound(err) || namedRef == nil || options.pull != PullImageMissing {
return "", err
}
if !options.quiet {
// we don't want to write to stdout anything apart from container.ID
_, _ = fmt.Fprintf(dockerCli.Err(), "Unable to find image '%s' locally\n", reference.FamiliarString(namedRef))
}

var retryErr error
response, retryErr = dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, platform, options.name)
if retryErr != nil {
return "", retryErr
}
} else {
if err := pullAndTagImage(); err != nil {
return "", err
}

var retryErr error
response, retryErr = dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, platform, options.name)
if retryErr != nil {
return "", retryErr
}
}

if warn := localhostDNSWarning(*hostConfig); warn != "" {
Expand Down
12 changes: 6 additions & 6 deletions cli/command/formatter/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,16 +177,16 @@ func (c *ContainerContext) Image() string {
// truncate digest if no-trunc option was not selected
ref, err := reference.ParseNormalizedNamed(c.c.Image)
if err == nil {
if nt, ok := ref.(reference.NamedTagged); ok {
// case for when a tag is provided
if namedTagged, err := reference.WithTag(reference.TrimNamed(nt), nt.Tag()); err == nil {
return reference.FamiliarString(namedTagged)
}
} else {
nt, ok := ref.(reference.NamedTagged)
if !ok {
// case for when a tag is not provided
named := reference.TrimNamed(ref)
return reference.FamiliarString(named)
}
// case for when a tag is provided
if namedTagged, err := reference.WithTag(reference.TrimNamed(nt), nt.Tag()); err == nil {
return reference.FamiliarString(namedTagged)
}
}
}

Expand Down
11 changes: 5 additions & 6 deletions cli/command/formatter/tabwriter/tabwriter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,13 @@ func (b *buffer) clear() { b.a = b.a[0:0] }
func (b *buffer) Write(buf []byte) (written int, err error) {
n := len(b.a)
m := len(buf)
if n+m <= cap(b.a) {
b.a = b.a[0 : n+m]
for i := 0; i < m; i++ {
b.a[n+i] = buf[i]
}
} else {
if n+m > cap(b.a) {
panic("buffer.Write: buffer too small")
}
b.a = b.a[0 : n+m]
for i := 0; i < m; i++ {
b.a[n+i] = buf[i]
}
return len(buf), nil
}

Expand Down
5 changes: 2 additions & 3 deletions cli/command/swarm/opts.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,11 +184,10 @@ func parseExternalCA(caSpec string) (*swarm.ExternalCA, error) {
switch strings.ToLower(key) {
case "protocol":
hasProtocol = true
if strings.ToLower(value) == string(swarm.ExternalCAProtocolCFSSL) {
externalCA.Protocol = swarm.ExternalCAProtocolCFSSL
} else {
if strings.ToLower(value) != string(swarm.ExternalCAProtocolCFSSL) {
return nil, errors.Errorf("unrecognized external CA protocol %s", value)
}
externalCA.Protocol = swarm.ExternalCAProtocolCFSSL
case "url":
hasURL = true
externalCA.URL = value
Expand Down
Loading