Skip to content
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

increase golangci-lint timeout to avoid sporadic CircleCI failures #2320

Merged
merged 2 commits into from
Nov 6, 2023

Conversation

preminger
Copy link
Contributor

Description of the Pull Request (PR):

Increases the timeout for golangci-lint from 3m to 5m to avoid sporadic CircleCI failures.

@preminger preminger marked this pull request as ready for review November 6, 2023 16:41
@preminger preminger requested a review from dtrudg November 6, 2023 16:41
@dtrudg
Copy link
Member

dtrudg commented Nov 6, 2023

Ooof 5m for a meta-linter is pretty wild... our code isn't that big.

Is there any indication which specific linter is taking ages? I've been experiencing slowness in VSCode with linting updates which are a pain when doing large refactors... curious if we know why it is so slow?

@preminger
Copy link
Contributor Author

Ooof 5m for a meta-linter is pretty wild... our code isn't that big.

Is there any indication which specific linter is taking ages? I've been experiencing slowness in VSCode with linting updates which are a pain when doing large refactors... curious if we know why it is so slow?

Not really...? Here's the output of one of the relevant failures (this one had 3m 15s next to the "Check for Lint" subtask of the lint-source task, with no other subtask clocking in at more than 9s):

example of linter timeout log output
make: Entering directory '/root/project/builddir'
 GEN GO DEP /root/project/builddir/starter.d
/root/project/makeit/gengodep -v3 "/usr/local/go/bin/go" "starter_SOURCE" "containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper sylog singularity_engine fakeroot_engine apparmor selinux seccomp" "/root/project/builddir/starter.d" "/root/project/cmd/starter"
go: downloading github.com/opencontainers/runtime-spec v1.1.0
go: downloading github.com/samber/lo v1.38.1
go: downloading github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95
go: downloading golang.org/x/sys v0.14.0
go: downloading github.com/google/uuid v1.4.0
go: downloading golang.org/x/term v0.13.0
go: downloading mvdan.cc/sh/v3 v3.7.1-0.20231014181306-8b673862efc6
go: downloading github.com/containers/common v0.56.0
go: downloading github.com/seccomp/libseccomp-golang v0.10.0
go: downloading github.com/opencontainers/runc v1.1.10
go: downloading github.com/pelletier/go-toml/v2 v2.1.0
go: downloading github.com/astromechza/etcpwdparse v0.0.0-20170319193008-f0e5f0779716
go: downloading github.com/containernetworking/cni v1.1.2
go: downloading github.com/containernetworking/plugins v1.3.0
go: downloading github.com/sylabs/scs-key-client v0.7.3
go: downloading github.com/sylabs/sif/v2 v2.15.0
go: downloading github.com/blang/semver/v4 v4.0.0
go: downloading github.com/opencontainers/selinux v1.11.0
go: downloading github.com/sylabs/json-resp v0.9.0
go: downloading golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63
go: downloading golang.org/x/sync v0.4.0
go: downloading github.com/pelletier/go-toml v1.9.5
go: downloading golang.org/x/crypto v0.14.0
go: downloading github.com/cloudflare/circl v1.3.3
go: downloading github.com/vishvananda/netlink v1.2.1-beta.2
go: downloading github.com/coreos/go-iptables v0.6.0
go: downloading github.com/safchain/ethtool v0.3.0
go: downloading github.com/sigstore/sigstore v1.7.5
go: downloading github.com/secure-systems-lab/go-securesystemslib v0.7.0
go: downloading github.com/google/go-containerregistry v0.16.1
go: downloading github.com/sirupsen/logrus v1.9.3
go: downloading github.com/moby/sys/mountinfo v0.6.2
go: downloading github.com/coreos/go-systemd/v22 v22.5.0
go: downloading github.com/godbus/dbus/v5 v5.1.0
go: downloading golang.org/x/net v0.17.0
go: downloading github.com/cyphar/filepath-securejoin v0.2.4
go: downloading github.com/cilium/ebpf v0.9.1
go: downloading github.com/vishvananda/netns v0.0.4
go: downloading github.com/letsencrypt/boulder v0.0.0-20230213213521-fdfea0d469b6
go: downloading github.com/opencontainers/go-digest v1.0.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399
go: downloading gopkg.in/go-jose/go-jose.v2 v2.6.1
 GEN GO DEP /root/project/builddir/singularity.d
/root/project/makeit/gengodep -v3 "/usr/local/go/bin/go" "singularity_SOURCE" "containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper sylog singularity_engine fakeroot_engine apparmor selinux seccomp" "/root/project/builddir/singularity.d" "/root/project/cmd/singularity"
go: downloading golang.org/x/text v0.14.0
go: downloading github.com/spf13/cobra v1.8.0
go: downloading github.com/docker/go-units v0.5.0
go: downloading github.com/shopspring/decimal v1.3.1
go: downloading github.com/fatih/color v1.16.0
go: downloading github.com/sylabs/scs-library-client v1.4.5
go: downloading github.com/containers/image/v5 v5.28.0
go: downloading github.com/containerd/console v1.0.3
go: downloading github.com/moby/buildkit v0.12.3
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/go-log/log v0.2.0
go: downloading github.com/sylabs/scs-build-client v0.8.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/sylabs/oci-tools v0.6.0
go: downloading github.com/docker/cli v24.0.7+incompatible
go: downloading github.com/gosimple/slug v1.13.1
go: downloading github.com/opencontainers/image-spec v1.1.0-rc5
go: downloading github.com/vbauerster/mpb/v8 v8.6.2
go: downloading github.com/moby/term v0.5.0
go: downloading tags.cncf.io/container-device-interface v0.6.2
go: downloading github.com/containerd/containerd v1.7.7
go: downloading github.com/containerd/continuity v0.4.3
go: downloading github.com/containerd/go-runc v1.1.0
go: downloading github.com/docker/docker v24.0.0-rc.2.0.20230718135204-8e51b8b59cb8+incompatible
go: downloading github.com/gofrs/flock v0.8.1
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/docker/distribution v2.8.3+incompatible
go: downloading go.etcd.io/bbolt v1.3.7
go: downloading go.opentelemetry.io/otel v1.19.0
go: downloading go.opentelemetry.io/otel/trace v1.19.0
go: downloading google.golang.org/grpc v1.59.0
go: downloading github.com/apex/log v1.9.0
go: downloading github.com/opencontainers/umoci v0.4.7
go: downloading github.com/buger/goterm v1.0.4
go: downloading github.com/containerd/stargz-snapshotter/estargz v0.14.3
go: downloading github.com/BurntSushi/toml v1.3.2
go: downloading github.com/container-orchestrated-devices/container-device-interface v0.6.1
go: downloading github.com/containers/storage v1.50.2
go: downloading github.com/hashicorp/go-multierror v1.1.1
go: downloading github.com/mattn/go-colorable v0.1.13
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading github.com/gosimple/unidecode v1.0.1
go: downloading github.com/fsnotify/fsnotify v1.6.0
go: downloading github.com/opencontainers/runtime-tools v0.9.1-0.20230317050512-e931285f4b69
go: downloading golang.org/x/mod v0.13.0
go: downloading sigs.k8s.io/yaml v1.3.0
go: downloading tags.cncf.io/container-device-interface/specs-go v0.6.0
go: downloading github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
go: downloading github.com/mattn/go-runewidth v0.0.15
go: downloading github.com/VividCortex/ewma v1.2.0
go: downloading github.com/gorilla/websocket v1.5.0
go: downloading github.com/gogo/protobuf v1.3.2
go: downloading github.com/gogo/googleapis v1.4.1
go: downloading github.com/golang/protobuf v1.5.3
go: downloading github.com/tonistiigi/fsutil v0.0.0-20230629203738-36ef4d8c0dbb
go: downloading go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0
go: downloading go.opentelemetry.io/otel/sdk v1.19.0
go: downloading github.com/moby/sys/signal v0.7.0
go: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
go: downloading github.com/containerd/typeurl/v2 v2.1.1
go: downloading github.com/containerd/nydus-snapshotter v0.13.3
go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b
go: downloading google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b
go: downloading github.com/tonistiigi/go-archvariant v1.0.0
go: downloading github.com/morikuni/aec v1.0.0
go: downloading github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea
go: downloading github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531
go: downloading golang.org/x/time v0.3.0
go: downloading github.com/containerd/go-cni v1.1.9
go: downloading google.golang.org/protobuf v1.31.0
go: downloading github.com/klauspost/compress v1.17.2
go: downloading github.com/prometheus/procfs v0.10.1
go: downloading github.com/mitchellh/hashstructure/v2 v2.0.2
go: downloading github.com/docker/go-connections v0.4.0
go: downloading go.opentelemetry.io/proto/otlp v1.0.0
go: downloading github.com/sigstore/fulcio v1.4.0
go: downloading github.com/containers/ocicrypt v1.1.8
go: downloading github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
go: downloading github.com/vbatts/tar-split v0.11.5
go: downloading github.com/hashicorp/errwrap v1.1.0
go: downloading gopkg.in/yaml.v2 v2.4.0
go: downloading github.com/rivo/uniseg v0.4.4
go: downloading github.com/urfave/cli v1.22.14
go: downloading github.com/vbatts/go-mtree v0.5.0
go: downloading github.com/klauspost/pgzip v1.2.6
go: downloading github.com/rootless-containers/proto v0.1.0
go: downloading github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
go: downloading github.com/in-toto/in-toto-golang v0.9.0
go: downloading github.com/distribution/reference v0.5.0
go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.45.0
go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0
go: downloading go.opentelemetry.io/otel/metric v1.19.0
go: downloading github.com/moby/patternmatcher v0.6.0
go: downloading github.com/moby/locker v1.0.1
go: downloading github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2
go: downloading github.com/containerd/ttrpc v1.2.2
go: downloading github.com/package-url/packageurl-go v0.1.1-0.20220428063043-89078438f170
go: downloading github.com/spdx/tools-golang v0.5.1
go: downloading github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01
go: downloading github.com/ulikunitz/xz v0.5.11
go: downloading github.com/cyberphone/json-canonicalization v0.0.0-20230710064741-aa7fe85c7dbd
go: downloading github.com/sigstore/rekor v1.2.2
go: downloading github.com/docker/docker-credential-helpers v0.8.0
go: downloading github.com/gorilla/mux v1.8.0
go: downloading github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0
go: downloading github.com/containerd/log v0.1.0
go: downloading github.com/agext/levenshtein v1.2.3
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.3
go: downloading github.com/go-logr/logr v1.2.4
go: downloading github.com/felixge/httpsnoop v1.0.3
go: downloading github.com/go-logr/stdr v1.2.2
go: downloading github.com/google/go-cmp v0.6.0
go: downloading github.com/shibumi/go-pathspec v1.3.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
go: downloading github.com/hashicorp/go-immutable-radix v1.3.1
go: downloading github.com/hashicorp/golang-lru v0.5.4
go: downloading github.com/mattn/go-sqlite3 v1.14.17
go: downloading github.com/go-jose/go-jose/v3 v3.0.0
go: downloading go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352
go: downloading github.com/miekg/pkcs11 v1.1.1
go: downloading github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980
go: downloading github.com/russross/blackfriday/v2 v2.1.0
go: downloading github.com/json-iterator/go v1.1.12
go: downloading github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092
go: downloading github.com/cenkalti/backoff/v4 v4.2.1
go: downloading github.com/modern-go/reflect2 v1.0.2
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading github.com/go-openapi/validate v0.22.1
go: downloading github.com/go-openapi/runtime v0.26.0
go: downloading github.com/go-openapi/errors v0.20.4
go: downloading github.com/go-openapi/strfmt v0.21.7
go: downloading github.com/go-openapi/swag v0.22.4
go: downloading go.mongodb.org/mongo-driver v1.11.3
go: downloading github.com/oklog/ulid v1.3.1
go: downloading github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
go: downloading github.com/mitchellh/mapstructure v1.5.0
go: downloading github.com/mailru/easyjson v0.7.7
go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b
go: downloading github.com/josharian/intern v1.0.0
go: downloading github.com/moby/sys/sequential v0.5.0
go: downloading github.com/moby/sys/mount v0.3.3
go: downloading github.com/go-openapi/spec v0.20.9
go: downloading github.com/go-openapi/loads v0.21.2
go: downloading github.com/go-openapi/jsonpointer v0.19.6
go: downloading github.com/go-openapi/analysis v0.21.4
go: downloading github.com/go-openapi/jsonreference v0.20.2
 GEN /root/project/scripts/go-generate
/usr/local/go/bin/go run -mod=readonly /root/project/scripts/expand-env.go < /root/project/scripts/go-generate.in > /root/project/scripts/go-generate
chmod +x /root/project/scripts/go-generate
cd /root/project && ./scripts/go-generate -x ./...
go: downloading gotest.tools/v3 v3.5.1
# get https://proxy.golang.org/gotest.tools/v3/@v/v3.5.1.zip
go: downloading github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2
# get https://proxy.golang.org/github.com/%21netflix/go-expect/@v/v0.0.0-20220104043353-73e0943537d2.zip
go: downloading github.com/adigunhammedolalekan/registry-auth v0.0.0-20200730122110-8cde180a3a60
go: downloading github.com/buger/jsonparser v1.1.1
# get https://proxy.golang.org/github.com/adigunhammedolalekan/registry-auth/@v/v0.0.0-20200730122110-8cde180a3a60.zip
# get https://proxy.golang.org/github.com/buger/jsonparser/@v/v1.1.1.zip
go: downloading github.com/xeipuuv/gojsonschema v1.2.0
# get https://proxy.golang.org/github.com/xeipuuv/gojsonschema/@v/v1.2.0.zip
go: downloading github.com/docker/go-metrics v0.0.1
go: downloading github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7
go: downloading github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7
go: downloading github.com/gorilla/handlers v1.5.1
# get https://proxy.golang.org/github.com/docker/go-metrics/@v/v0.0.1.zip
# get https://proxy.golang.org/github.com/garyburd/redigo/@v/v0.0.0-20150301180006-535138d7bcd7.zip
# get https://proxy.golang.org/github.com/gorilla/handlers/@v/v1.5.1.zip
# get https://proxy.golang.org/github.com/docker/libtrust/@v/v0.0.0-20160708172513-aabc10ec26b7.zip
# get https://proxy.golang.org/github.com/%21netflix/go-expect/@v/v0.0.0-20220104043353-73e0943537d2.zip: 200 OK (0.074s)
# get https://proxy.golang.org/github.com/xeipuuv/gojsonschema/@v/v1.2.0.zip: 200 OK (0.059s)
# get https://proxy.golang.org/github.com/gorilla/handlers/@v/v1.5.1.zip: 200 OK (0.024s)
# get https://proxy.golang.org/github.com/%21netflix/go-expect/@v/v0.0.0-20220104043353-73e0943537d2.mod
# get https://proxy.golang.org/github.com/docker/go-metrics/@v/v0.0.1.zip: 200 OK (0.028s)
# get https://proxy.golang.org/github.com/garyburd/redigo/@v/v0.0.0-20150301180006-535138d7bcd7.zip: 200 OK (0.028s)
# get https://proxy.golang.org/github.com/docker/libtrust/@v/v0.0.0-20160708172513-aabc10ec26b7.zip: 200 OK (0.028s)
# get https://proxy.golang.org/github.com/buger/jsonparser/@v/v1.1.1.zip: 200 OK (0.079s)
# get https://proxy.golang.org/gotest.tools/v3/@v/v3.5.1.zip: 200 OK (0.084s)
# get https://proxy.golang.org/github.com/%21netflix/go-expect/@v/v0.0.0-20220104043353-73e0943537d2.mod: 200 OK (0.004s)
go: downloading github.com/creack/pty v1.1.18
# get https://proxy.golang.org/github.com/creack/pty/@v/v1.1.18.zip
# get https://proxy.golang.org/github.com/gorilla/handlers/@v/v1.5.1.mod
# get https://proxy.golang.org/github.com/docker/go-metrics/@v/v0.0.1.mod
# get https://proxy.golang.org/github.com/adigunhammedolalekan/registry-auth/@v/v0.0.0-20200730122110-8cde180a3a60.zip: 200 OK (0.085s)
# get https://proxy.golang.org/github.com/creack/pty/@v/v1.1.18.zip: 200 OK (0.005s)
# get https://proxy.golang.org/github.com/buger/jsonparser/@v/v1.1.1.mod
# get https://proxy.golang.org/github.com/gorilla/handlers/@v/v1.5.1.mod: 200 OK (0.006s)
# get https://proxy.golang.org/github.com/garyburd/redigo/@v/v0.0.0-20150301180006-535138d7bcd7.mod
# get https://proxy.golang.org/github.com/docker/go-metrics/@v/v0.0.1.mod: 200 OK (0.006s)
go: downloading github.com/prometheus/client_golang v1.16.0
# get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.16.0.zip
# get https://proxy.golang.org/github.com/docker/libtrust/@v/v0.0.0-20160708172513-aabc10ec26b7.mod
# get https://proxy.golang.org/github.com/buger/jsonparser/@v/v1.1.1.mod: 200 OK (0.004s)
# get https://proxy.golang.org/github.com/garyburd/redigo/@v/v0.0.0-20150301180006-535138d7bcd7.mod: 200 OK (0.007s)
# get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.16.0.zip: 200 OK (0.005s)
# get https://proxy.golang.org/github.com/creack/pty/@v/v1.1.18.mod
# get https://proxy.golang.org/github.com/docker/libtrust/@v/v0.0.0-20160708172513-aabc10ec26b7.mod: 200 OK (0.007s)
# get https://proxy.golang.org/github.com/creack/pty/@v/v1.1.18.mod: 200 OK (0.004s)
# get https://proxy.golang.org/gotest.tools/v3/@v/v3.5.1.mod
# get https://proxy.golang.org/gotest.tools/v3/@v/v3.5.1.mod: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/xeipuuv/gojsonschema/@v/v1.2.0.mod
# get https://proxy.golang.org/github.com/xeipuuv/gojsonschema/@v/v1.2.0.mod: 200 OK (0.003s)
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
# get https://proxy.golang.org/github.com/xeipuuv/gojsonreference/@v/v0.0.0-20180127040603-bd5ef7bd5415.zip
# get https://proxy.golang.org/github.com/xeipuuv/gojsonreference/@v/v0.0.0-20180127040603-bd5ef7bd5415.zip: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/xeipuuv/gojsonreference/@v/v0.0.0-20180127040603-bd5ef7bd5415.mod
# get https://proxy.golang.org/github.com/xeipuuv/gojsonreference/@v/v0.0.0-20180127040603-bd5ef7bd5415.mod: 200 OK (0.003s)
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
# get https://proxy.golang.org/github.com/xeipuuv/gojsonpointer/@v/v0.0.0-20190905194746-02993c407bfb.zip
# get https://proxy.golang.org/github.com/xeipuuv/gojsonpointer/@v/v0.0.0-20190905194746-02993c407bfb.zip: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/xeipuuv/gojsonpointer/@v/v0.0.0-20190905194746-02993c407bfb.mod
# get https://proxy.golang.org/github.com/xeipuuv/gojsonpointer/@v/v0.0.0-20190905194746-02993c407bfb.mod: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.16.0.mod
# get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.16.0.mod: 200 OK (0.003s)
go: downloading github.com/prometheus/client_model v0.4.0
go: downloading github.com/prometheus/common v0.44.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/cespare/xxhash/v2 v2.2.0
# get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.4.0.zip
# get https://proxy.golang.org/github.com/prometheus/common/@v/v0.44.0.zip
# get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.zip
# get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.2.0.zip
# get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.4.0.zip: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.zip: 200 OK (0.004s)
# get https://proxy.golang.org/github.com/prometheus/common/@v/v0.44.0.zip: 200 OK (0.004s)
# get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.2.0.zip: 200 OK (0.004s)
# get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.4.0.mod
# get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.mod
# get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.2.0.mod
# get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.4.0.mod: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.mod: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.2.0.mod: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/prometheus/common/@v/v0.44.0.mod
# get https://proxy.golang.org/github.com/prometheus/common/@v/v0.44.0.mod: 200 OK (0.004s)
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.4
# get https://proxy.golang.org/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.4.zip
# get https://proxy.golang.org/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.4.zip: 200 OK (0.003s)
# get https://proxy.golang.org/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.4.mod
# get https://proxy.golang.org/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.4.mod: 200 OK (0.004s)
# get https://proxy.golang.org/github.com/adigunhammedolalekan/registry-auth/@v/v0.0.0-20200730122110-8cde180a3a60.mod
# get https://proxy.golang.org/github.com/adigunhammedolalekan/registry-auth/@v/v0.0.0-20200730122110-8cde180a3a60.mod: 200 OK (0.003s)
/usr/local/go/bin/go run confgen/gen.go /root/project/builddir/config.h
 CHECK golangci-lint
cd /root/project && \
	golangci-lint run --verbose
�[36mINFO�[0m [config_reader] Config search paths: [./ /root/project /root /] 
�[36mINFO�[0m [config_reader] Used config file .golangci.yml 
�[36mINFO�[0m [lintersdb] Active 33 linters: [asciicheck bidichk bodyclose containedctx contextcheck decorder dogsled dupl dupword exportloopref forcetypeassert gofumpt goimports gomodguard goprintffuncname gosec gosimple govet grouper ineffassign interfacebloat maintidx misspell nakedret nolintlint prealloc reassign revive staticcheck tenv unparam unused whitespace] 
�[36mINFO�[0m [loader] Using build tags: [apparmor containers_image_openpgp e2e_test fakeroot_engine seccomp selinux singularity_engine sylog] 
�[36mINFO�[0m [loader] Go packages loading at mode 575 (exports_file|files|name|types_sizes|compiled_files|imports|deps) took 1m41.98782265s 
�[36mINFO�[0m [runner/filename_unadjuster] Pre-built 0 adjustments in 73.959576ms 
�[36mINFO�[0m Memory: 1679 samples, avg is 481.3MB, max is 2373.3MB 
�[36mINFO�[0m Execution took 3m0.002362619s                
�[36mINFO�[0m [linters_context/goanalysis] analyzers took 11m25.46144985s with top 10 stages: buildir: 3m10.24767925s, buildssa: 2m22.882343533s, the_only_name: 35.748278996s, contextcheck: 28.835825732s, ctrlflow: 27.642586371s, printf: 27.231244592s, fact_deprecated: 26.492504546s, nilness: 25.357969562s, typedness: 22.991323946s, goimports: 22.125572557s 
�[36mINFO�[0m [runner/skip_dirs] Skipped 2 issues from dir examples/plugins/config-plugin by pattern (^|/)examples($|/) 
�[36mINFO�[0m [runner/skip_dirs] Skipped 2 issues from dir examples/plugins/cli-plugin by pattern (^|/)examples($|/) 
�[36mINFO�[0m [runner/skip_dirs] Skipped 1 issues from dir examples/plugins/log-plugin by pattern (^|/)examples($|/) 
�[36mINFO�[0m [runner] Issues before processing: 1655, after processing: 0 
�[36mINFO�[0m [runner] Processors filtering stat (out/in): exclude: 1499/1499, nolint: 0/274, skip_files: 1509/1512, skip_dirs: 1504/1509, filename_unadjuster: 1512/1512, path_prettifier: 1512/1512, autogenerated_exclude: 1499/1504, identifier_marker: 1499/1499, exclude-rules: 274/1499, cgo: 1512/1655 
�[36mINFO�[0m [runner] processing took 190.578387ms with stages: nolint: 105.240887ms, exclude-rules: 38.476225ms, identifier_marker: 23.920351ms, autogenerated_exclude: 11.17207ms, path_prettifier: 7.082387ms, exclude: 2.296776ms, skip_dirs: 1.810227ms, cgo: 324.88µs, skip_files: 131.875µs, filename_unadjuster: 117.47µs, max_same_issues: 1.572µs, source_code: 630ns, diff: 523ns, uniq_by_line: 493ns, fixer: 437ns, max_from_linter: 384ns, severity-rules: 347ns, sort_results: 249ns, path_shortener: 242ns, path_prefixer: 213ns, max_per_file_from_linter: 149ns 
�[36mINFO�[0m [runner] linters took 1m22.392529665s with stages: goanalysis_metalinter: 1m22.20184733s 
�[36mINFO�[0m File cache stats: 566 entries of total size 3.3MiB 
�[31mERRO�[0m Timeout exceeded: try increasing it by passing --timeout option 
make: *** [Makefile:607: check] Error 4
make: Leaving directory '/root/project/builddir'

@EmmEff
Copy link
Contributor

EmmEff commented Nov 6, 2023

FWIW, the issue I was seeing with linting my code was that golangci-lint was pinning the CPU in the CircleCI instance causing it to be terminated. I ended up having to simply restrict the amount of CPU allocated to golangci-lint by setting the --concurrency to something less than the actual instance size.

@preminger
Copy link
Contributor Author

FWIW, the issue I was seeing with linting my code was that golangci-lint was pinning the CPU in the CircleCI instance causing it to be terminated. I ended up having to simply restrict the amount of CPU allocated to golangci-lint by setting the --concurrency to something less than the actual instance size.

We recently restricted concurrency to 4 to avoid a different kind of CircleCI linter failure... I wonder if that somehow led to this 👆 ...?

@dtrudg
Copy link
Member

dtrudg commented Nov 6, 2023

FWIW, the issue I was seeing with linting my code was that golangci-lint was pinning the CPU in the CircleCI instance causing it to be terminated. I ended up having to simply restrict the amount of CPU allocated to golangci-lint by setting the --concurrency to something less than the actual instance size.

We recently restricted concurrency to 4 to avoid a different kind of CircleCI linter failure... I wonder if that somehow led to this 👆 ...?

FWIW, the issue I was seeing with linting my code was that golangci-lint was pinning the CPU in the CircleCI instance causing it to be terminated. I ended up having to simply restrict the amount of CPU allocated to golangci-lint by setting the --concurrency to something less than the actual instance size.

We recently restricted concurrency to 4 to avoid a different kind of CircleCI linter failure... I wonder if that somehow led to this 👆 ...?

What's the executor size for this task in CircleCI? We should likely match concurrency to the number of CPUs that are allocated.... and then anything else is going to be turning on/off linters that are making this take ages.... or upping the timeout :-/

@preminger
Copy link
Contributor Author

preminger commented Nov 6, 2023

What's the executor size for this task in CircleCI? We should likely match concurrency to the number of CPUs that are allocated.... and then anything else is going to be turning on/off linters that are making this take ages.... or upping the timeout :-/

This is all it says under the executors: section of .circleci/config.yml for golangci-lint:

  golangci-lint:
    docker:
      - image: golangci/golangci-lint:v1.55.1

Not sure what that means in terms of CPUs allocated etc.

@EmmEff
Copy link
Contributor

EmmEff commented Nov 6, 2023

What's the executor size for this task in CircleCI? We should likely match concurrency to the number of CPUs that are allocated.... and then anything else is going to be turning on/off linters that are making this take ages.... or upping the timeout :-/

Default Docker executor size in CircleCI is Medium (2 vCPUs/4GB RAM) which I believe also makes the --concurrency=4 flag invalid (should really be 2 I think)

@dtrudg
Copy link
Member

dtrudg commented Nov 6, 2023

What's the executor size for this task in CircleCI? We should likely match concurrency to the number of CPUs that are allocated.... and then anything else is going to be turning on/off linters that are making this take ages.... or upping the timeout :-/

Default Docker executor size in CircleCI is Medium (2 vCPUs/4GB RAM) which I believe also makes the --concurrency=4 flag invalid (should really be 2 I think)

Thanks EmmEff - we're only using a non-default Large for the e2e-test step. Might be time to review executor size all-round, again, at some point.

Copy link
Member

@dtrudg dtrudg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright.

image

@preminger preminger merged commit 96712ec into sylabs:main Nov 6, 2023
1 check passed
preminger pushed a commit to preminger/singularity that referenced this pull request Nov 6, 2023
…ylabs#2320)

* increase golangci-lint timeout

* reduce "concurrency" value 4 -> 2
preminger pushed a commit that referenced this pull request Nov 6, 2023
…2320) (#2321)

* increase golangci-lint timeout

* reduce "concurrency" value 4 -> 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants