enforce the use of goimports (#248)

* enforce the use of goimports

Instead of enforcing `gofmt`, enforce `goimports`, which also asserts
a separate section for non-builtin packages.

* run `goimports` everywhere

* exclude generated .pb.go files
This commit is contained in:
Wade Simmons 2020-06-30 18:53:30 -04:00 committed by GitHub
parent 41578ca971
commit aba42f9fa6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 82 additions and 56 deletions

View File

@ -23,10 +23,22 @@ jobs:
- name: Check out code into the Go module directory - name: Check out code into the Go module directory
uses: actions/checkout@v1 uses: actions/checkout@v1
- uses: actions/cache@v1
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-gofmt-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-gofmt-
- name: Install goimports
run: |
go get golang.org/x/tools/cmd/goimports
go build golang.org/x/tools/cmd/goimports
- name: gofmt - name: gofmt
run: | run: |
if [ "$(find . -iname '*.go' | xargs gofmt -l)" ] if [ "$(find . -iname '*.go' | grep -v '\.pb\.go$' | xargs ./goimports -l)" ]
then then
find . -iname '*.go' | xargs gofmt -d find . -iname '*.go' | grep -v '\.pb\.go$' | xargs ./goimports -d
exit 1 exit 1
fi fi

View File

@ -1,18 +1,18 @@
package cert package cert
import ( import (
"bytes"
"crypto" "crypto"
"crypto/rand" "crypto/rand"
"crypto/sha256" "crypto/sha256"
"encoding/binary" "encoding/binary"
"encoding/hex" "encoding/hex"
"encoding/json"
"encoding/pem" "encoding/pem"
"fmt" "fmt"
"net" "net"
"time" "time"
"bytes"
"encoding/json"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"golang.org/x/crypto/curve25519" "golang.org/x/crypto/curve25519"
"golang.org/x/crypto/ed25519" "golang.org/x/crypto/ed25519"

View File

@ -3,10 +3,11 @@ package main
import ( import (
"bytes" "bytes"
"errors" "errors"
"github.com/stretchr/testify/assert"
"io" "io"
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
) )
//TODO: all flag parsing continueOnError will print to stderr on its own currently //TODO: all flag parsing continueOnError will print to stderr on its own currently

View File

@ -4,11 +4,12 @@ import (
"encoding/json" "encoding/json"
"flag" "flag"
"fmt" "fmt"
"github.com/slackhq/nebula/cert"
"io" "io"
"io/ioutil" "io/ioutil"
"os" "os"
"strings" "strings"
"github.com/slackhq/nebula/cert"
) )
type printFlags struct { type printFlags struct {

View File

@ -2,12 +2,13 @@ package main
import ( import (
"bytes" "bytes"
"github.com/slackhq/nebula/cert"
"github.com/stretchr/testify/assert"
"io/ioutil" "io/ioutil"
"os" "os"
"testing" "testing"
"time" "time"
"github.com/slackhq/nebula/cert"
"github.com/stretchr/testify/assert"
) )
func Test_printSummary(t *testing.T) { func Test_printSummary(t *testing.T) {

View File

@ -3,12 +3,13 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"github.com/slackhq/nebula/cert"
"io" "io"
"io/ioutil" "io/ioutil"
"os" "os"
"strings" "strings"
"time" "time"
"github.com/slackhq/nebula/cert"
) )
type verifyFlags struct { type verifyFlags struct {

View File

@ -3,13 +3,14 @@ package main
import ( import (
"bytes" "bytes"
"crypto/rand" "crypto/rand"
"github.com/slackhq/nebula/cert"
"github.com/stretchr/testify/assert"
"golang.org/x/crypto/ed25519"
"io/ioutil" "io/ioutil"
"os" "os"
"testing" "testing"
"time" "time"
"github.com/slackhq/nebula/cert"
"github.com/stretchr/testify/assert"
"golang.org/x/crypto/ed25519"
) )
func Test_verifySummary(t *testing.T) { func Test_verifySummary(t *testing.T) {

View File

@ -3,9 +3,10 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"os"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/slackhq/nebula" "github.com/slackhq/nebula"
"os"
) )
// A version string that can be set with // A version string that can be set with

View File

@ -2,12 +2,12 @@ package main
import ( import (
"fmt" "fmt"
"github.com/sirupsen/logrus"
"log" "log"
"os" "os"
"path/filepath" "path/filepath"
"github.com/kardianos/service" "github.com/kardianos/service"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula" "github.com/slackhq/nebula"
) )

View File

@ -3,9 +3,9 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"github.com/sirupsen/logrus"
"os" "os"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula" "github.com/slackhq/nebula"
) )

View File

@ -3,9 +3,6 @@ package nebula
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/imdario/mergo"
"github.com/sirupsen/logrus"
"gopkg.in/yaml.v2"
"io/ioutil" "io/ioutil"
"net" "net"
"os" "os"
@ -17,6 +14,10 @@ import (
"strings" "strings"
"syscall" "syscall"
"time" "time"
"github.com/imdario/mergo"
"github.com/sirupsen/logrus"
"gopkg.in/yaml.v2"
) )
type Config struct { type Config struct {

View File

@ -1,12 +1,13 @@
package nebula package nebula
import ( import (
"github.com/stretchr/testify/assert"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert"
) )
func TestConfig_Load(t *testing.T) { func TestConfig_Load(t *testing.T) {

View File

@ -1,19 +1,18 @@
package nebula package nebula
import ( import (
"crypto/sha256"
"encoding/binary" "encoding/binary"
"encoding/hex"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"net" "net"
"sync"
"time"
"crypto/sha256"
"encoding/hex"
"errors"
"reflect" "reflect"
"strconv" "strconv"
"strings" "strings"
"sync"
"time"
"github.com/rcrowley/go-metrics" "github.com/rcrowley/go-metrics"
"github.com/slackhq/nebula/cert" "github.com/slackhq/nebula/cert"

View File

@ -1,11 +1,10 @@
package nebula package nebula
import ( import (
"bytes"
"sync/atomic" "sync/atomic"
"time" "time"
"bytes"
"github.com/flynn/noise" "github.com/flynn/noise"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
) )

View File

@ -1,9 +1,10 @@
package nebula package nebula
import ( import (
"github.com/stretchr/testify/assert"
"reflect" "reflect"
"testing" "testing"
"github.com/stretchr/testify/assert"
) )
type headerTest struct { type headerTest struct {

View File

@ -4,7 +4,7 @@ import (
"net" "net"
"testing" "testing"
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View File

@ -2,9 +2,10 @@ package nebula
import ( import (
"errors" "errors"
"testing"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"testing"
) )
type TestLogWriter struct { type TestLogWriter struct {

View File

@ -3,9 +3,6 @@ package nebula
import ( import (
"encoding/binary" "encoding/binary"
"fmt" "fmt"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula/sshd"
"gopkg.in/yaml.v2"
"net" "net"
"os" "os"
"os/signal" "os/signal"
@ -13,6 +10,10 @@ import (
"strings" "strings"
"syscall" "syscall"
"time" "time"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula/sshd"
"gopkg.in/yaml.v2"
) )
// The caller should provide a real logger, we have one just in case // The caller should provide a real logger, we have one just in case

View File

@ -2,18 +2,14 @@ package nebula
import ( import (
"encoding/binary" "encoding/binary"
"errors"
"fmt"
"time"
"github.com/flynn/noise" "github.com/flynn/noise"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/slackhq/nebula/cert" "github.com/slackhq/nebula/cert"
// "github.com/google/gopacket"
// "github.com/google/gopacket/layers"
// "encoding/binary"
"errors"
"fmt"
"time"
"golang.org/x/net/ipv4" "golang.org/x/net/ipv4"
) )

View File

@ -1,10 +1,11 @@
package nebula package nebula
import ( import (
"github.com/stretchr/testify/assert"
"golang.org/x/net/ipv4"
"net" "net"
"testing" "testing"
"github.com/stretchr/testify/assert"
"golang.org/x/net/ipv4"
) )
func Test_newPacket(t *testing.T) { func Test_newPacket(t *testing.T) {

View File

@ -1,9 +1,10 @@
package nebula package nebula
import ( import (
"github.com/stretchr/testify/assert"
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert"
) )
func TestNewPunchyFromConfig(t *testing.T) { func TestNewPunchyFromConfig(t *testing.T) {

5
ssh.go
View File

@ -5,8 +5,6 @@ import (
"encoding/json" "encoding/json"
"flag" "flag"
"fmt" "fmt"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula/sshd"
"io/ioutil" "io/ioutil"
"net" "net"
"os" "os"
@ -14,6 +12,9 @@ import (
"runtime/pprof" "runtime/pprof"
"strings" "strings"
"syscall" "syscall"
"github.com/sirupsen/logrus"
"github.com/slackhq/nebula/sshd"
) )
type sshListHostMapFlags struct { type sshListHostMapFlags struct {

View File

@ -4,9 +4,10 @@ import (
"errors" "errors"
"flag" "flag"
"fmt" "fmt"
"github.com/armon/go-radix"
"sort" "sort"
"strings" "strings"
"github.com/armon/go-radix"
) )
// CommandFlags is a function called before help or command execution to parse command line flags // CommandFlags is a function called before help or command execution to parse command line flags

View File

@ -2,10 +2,11 @@ package sshd
import ( import (
"fmt" "fmt"
"net"
"github.com/armon/go-radix" "github.com/armon/go-radix"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"net"
) )
type SSHServer struct { type SSHServer struct {

View File

@ -2,13 +2,14 @@ package sshd
import ( import (
"fmt" "fmt"
"sort"
"strings"
"github.com/anmitsu/go-shlex" "github.com/anmitsu/go-shlex"
"github.com/armon/go-radix" "github.com/armon/go-radix"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"golang.org/x/crypto/ssh/terminal" "golang.org/x/crypto/ssh/terminal"
"sort"
"strings"
) )
type session struct { type session struct {

View File

@ -3,15 +3,16 @@ package nebula
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/cyberdelia/go-metrics-graphite"
mp "github.com/nbrownus/go-metrics-prometheus"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/rcrowley/go-metrics"
"log" "log"
"net" "net"
"net/http" "net/http"
"time" "time"
graphite "github.com/cyberdelia/go-metrics-graphite"
mp "github.com/nbrownus/go-metrics-prometheus"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/rcrowley/go-metrics"
) )
func startStats(c *Config, configTest bool) error { func startStats(c *Config, configTest bool) error {

View File

@ -1,9 +1,10 @@
package nebula package nebula
import ( import (
"github.com/stretchr/testify/assert"
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert"
) )
func TestNewTimerWheel(t *testing.T) { func TestNewTimerWheel(t *testing.T) {

View File

@ -4,10 +4,11 @@ package nebula
import ( import (
"fmt" "fmt"
"github.com/songgao/water"
"net" "net"
"os/exec" "os/exec"
"strconv" "strconv"
"github.com/songgao/water"
) )
type Tun struct { type Tun struct {