Skip to content

Commit e0bd751

Browse files
committed
all: (mostly) automated clean up
- Unset any user-defined Go environment variables `devbox.json` to make builds more reproducible. Clean up some of the build scripts. - Remove `exp/slices` and `exp/maps` now that they're in the Go 1.21 stdlib. - Run `find . -name '*.go' -exec gofumpt -extra -w {} \+` to format Go files. - Add a `devbox run fmt` script and run it in CI. - Upgrade dependencies that don't have any backwards incompatible changes. - Organize direct vs. indirect modules and run `go mod tidy`.
1 parent 3213f07 commit e0bd751

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+536
-309
lines changed

.github/workflows/cli-tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ jobs:
6464
- uses: actions/setup-go@v4
6565
with:
6666
go-version-file: ./go.mod
67+
- run: go run ./cmd/devbox run fmt
6768
- name: golangci-lint
6869
uses: golangci/[email protected]
6970
with:

devbox.json

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,42 @@
44
"go@latest"
55
],
66
"env": {
7+
"GOENV": "off",
78
"PATH": "$PATH:$PWD/dist"
89
},
910
"shell": {
1011
"init_hook": [
11-
"export \"GOROOT=$(go env GOROOT)\""
12+
"unset CGO_ENABLED GO111MODULE GOARCH GOFLAGS GOMOD GOOS GOROOT GOTOOLCHAIN GOWORK"
1213
],
1314
"scripts": {
14-
"build": "go build -o dist/devbox cmd/devbox/main.go",
15-
"build-linux": "GOOS=linux go build -o dist/devbox-linux cmd/devbox/main.go",
16-
"build-linux-amd64": "GOOS=linux GOARCH=amd64 go build -o dist/devbox-linux-amd64 cmd/devbox/main.go",
15+
"build": "go build -o dist/devbox ./cmd/devbox",
16+
"build-all": [
17+
"GOOS=darwin GOARCH=amd64 go build -o dist/devbox-darwin-amd64 ./cmd/devbox",
18+
"GOOS=darwin GOARCH=arm64 go build -o dist/devbox-darwin-arm64 ./cmd/devbox",
19+
"GOOS=linux GOARCH=amd64 go build -o dist/devbox-linux-amd64 ./cmd/devbox",
20+
"GOOS=linux GOARCH=arm64 go build -o dist/devbox-linux-arm64 ./cmd/devbox"
21+
],
1722
"code": "code .",
1823
"lint": "golangci-lint run",
24+
"fmt": [
25+
"mkdir -p dist/tools",
26+
"export GOBIN=\"$PWD/dist/tools\"",
27+
"go install mvdan.cc/gofumpt@latest",
28+
"if [ \"$CI\" = 1 ]; then",
29+
" unformatted=\"$(find . -name '*.go' -exec \"$GOBIN/gofumpt\" -l {} \\+ | awk '{ print \"\t\" $0 }')\"",
30+
" if [ -n \"$unformatted\" ]; then",
31+
" echo 'The following files need to be formatted with gofumpt:'",
32+
" echo",
33+
" echo \"$unformatted\"",
34+
" echo",
35+
" echo 'Run `devbox run fmt` to format them.'",
36+
" exit 1",
37+
" fi",
38+
"fi",
39+
"find . -name '*.go' -exec gofumpt -extra -w {} \\+"
40+
],
1941
"test": "go test -race -cover ./...",
2042
"update-examples": "devbox run build && go run testscripts/testrunner/updater/main.go"
2143
}
22-
},
23-
"nixpkgs": {
24-
"commit": "3364b5b117f65fe1ce65a3cdd5612a078a3b31e3"
2544
}
2645
}

go.mod

Lines changed: 41 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,32 @@ module go.jetpack.io/devbox
33
go 1.21
44

55
require (
6-
github.com/AlecAivazis/survey/v2 v2.3.6
6+
github.com/AlecAivazis/survey/v2 v2.3.7
77
github.com/MakeNowJust/heredoc/v2 v2.0.1
8-
github.com/alessio/shellescape v1.4.1
9-
github.com/aws/aws-sdk-go-v2 v1.18.0
10-
github.com/aws/aws-sdk-go-v2/config v1.18.25
11-
github.com/aws/aws-sdk-go-v2/credentials v1.13.24
12-
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.67
13-
github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1
14-
github.com/aws/aws-sdk-go-v2/service/sts v1.19.0
8+
github.com/alessio/shellescape v1.4.2
9+
github.com/aws/aws-sdk-go-v2 v1.21.0
10+
github.com/aws/aws-sdk-go-v2/config v1.18.42
11+
github.com/aws/aws-sdk-go-v2/credentials v1.13.40
12+
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.87
13+
github.com/aws/aws-sdk-go-v2/service/s3 v1.40.0
14+
github.com/aws/aws-sdk-go-v2/service/sts v1.22.0
1515
github.com/bmatcuk/doublestar/v4 v4.6.0
1616
github.com/briandowns/spinner v1.23.0
1717
github.com/cavaliergopher/grab/v3 v3.0.1
1818
github.com/cloudflare/ahocorasick v0.0.0-20210425175752-730270c3e184
1919
github.com/creekorful/mvnparser v1.5.0
2020
github.com/denisbrodbeck/machineid v1.0.1
21+
github.com/f1bonacc1/process-compose v0.43.1
2122
github.com/fatih/color v1.15.0
2223
github.com/fsnotify/fsnotify v1.6.0
23-
github.com/getsentry/sentry-go v0.20.0
24+
github.com/getsentry/sentry-go v0.24.1
2425
github.com/google/go-cmp v0.5.9
25-
github.com/google/uuid v1.3.0
26+
github.com/google/uuid v1.3.1
2627
github.com/hashicorp/go-envparse v0.1.0
2728
github.com/joho/godotenv v1.5.1
2829
github.com/mattn/go-isatty v0.0.19
29-
github.com/mholt/archiver/v4 v4.0.0-alpha.7
30-
github.com/pelletier/go-toml/v2 v2.0.7
31-
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
30+
github.com/mholt/archiver/v4 v4.0.0-alpha.8
31+
github.com/pelletier/go-toml/v2 v2.1.0
3232
github.com/pkg/errors v0.9.1
3333
github.com/rogpeppe/go-internal v1.11.0
3434
github.com/samber/lo v1.38.1
@@ -39,9 +39,8 @@ require (
3939
github.com/wk8/go-ordered-map/v2 v2.1.8
4040
github.com/zealic/go2node v0.1.0
4141
go.jetpack.io/pkg v0.0.0-20230920232528-54278537129b
42-
golang.org/x/exp v0.0.0-20230807204917-050eac23e9de
43-
golang.org/x/mod v0.11.0
44-
golang.org/x/sync v0.1.0
42+
golang.org/x/mod v0.12.0
43+
golang.org/x/sync v0.3.0
4544
gopkg.in/natefinch/lumberjack.v2 v2.2.1
4645
gopkg.in/yaml.v3 v3.0.1
4746
)
@@ -51,29 +50,32 @@ require (
5150
github.com/InVisionApp/go-logger v1.0.1 // indirect
5251
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
5352
github.com/andybalholm/brotli v1.0.5 // indirect
54-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect
55-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3 // indirect
56-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 // indirect
57-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 // indirect
58-
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34 // indirect
59-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25 // indirect
60-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect
61-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28 // indirect
62-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27 // indirect
63-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 // indirect
64-
github.com/aws/aws-sdk-go-v2/service/sso v1.12.10 // indirect
65-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10 // indirect
66-
github.com/aws/smithy-go v1.13.5 // indirect
53+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13 // indirect
54+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 // indirect
55+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect
56+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect
57+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43 // indirect
58+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 // indirect
59+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 // indirect
60+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 // indirect
61+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect
62+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 // indirect
63+
github.com/aws/aws-sdk-go-v2/service/sso v1.14.1 // indirect
64+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1 // indirect
65+
github.com/aws/smithy-go v1.14.2 // indirect
6766
github.com/bahlo/generic-list-go v0.2.0 // indirect
6867
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
68+
github.com/bodgit/plumbing v1.2.0 // indirect
69+
github.com/bodgit/sevenzip v1.3.0 // indirect
70+
github.com/bodgit/windows v1.0.0 // indirect
6971
github.com/buger/jsonparser v1.1.1 // indirect
7072
github.com/cloudflare/circl v1.3.3 // indirect
7173
github.com/codeclysm/extract v2.2.0+incompatible // indirect
74+
github.com/connesc/cipherio v0.2.1 // indirect
7275
github.com/coreos/go-oidc/v3 v3.6.0 // indirect
7376
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
7477
github.com/davecgh/go-spew v1.1.1 // indirect
7578
github.com/dsnet/compress v0.0.1 // indirect
76-
github.com/f1bonacc1/process-compose v0.43.1
7779
github.com/go-jose/go-jose/v3 v3.0.0 // indirect
7880
github.com/golang/protobuf v1.5.3 // indirect
7981
github.com/golang/snappy v0.0.4 // indirect
@@ -85,26 +87,31 @@ require (
8587
github.com/gosimple/unidecode v1.0.1 // indirect
8688
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
8789
github.com/h2non/filetype v1.1.3 // indirect
90+
github.com/hashicorp/errwrap v1.0.0 // indirect
91+
github.com/hashicorp/go-multierror v1.1.1 // indirect
8892
github.com/inconshreveable/mousetrap v1.1.0 // indirect
8993
github.com/jmespath/go-jmespath v0.4.0 // indirect
9094
github.com/juju/errors v1.0.0 // indirect
9195
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
92-
github.com/klauspost/compress v1.16.3 // indirect
96+
github.com/klauspost/compress v1.16.0 // indirect
9397
github.com/klauspost/pgzip v1.2.5 // indirect
9498
github.com/mailru/easyjson v0.7.7 // indirect
9599
github.com/mattn/go-colorable v0.1.13 // indirect
96-
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
100+
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
97101
github.com/nwaples/rardecode/v2 v2.0.0-beta.2 // indirect
98102
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
99-
github.com/pierrec/lz4/v4 v4.1.17 // indirect
103+
github.com/pierrec/lz4/v4 v4.1.15 // indirect
104+
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
100105
github.com/pmezard/go-difflib v1.0.0 // indirect
101106
github.com/rs/zerolog v1.29.0 // indirect
102107
github.com/russross/blackfriday/v2 v2.1.0 // indirect
103108
github.com/segmentio/backo-go v1.0.1 // indirect
104109
github.com/therootcompany/xz v1.0.1 // indirect
105-
github.com/ulikunitz/xz v0.5.11 // indirect
110+
github.com/ulikunitz/xz v0.5.10 // indirect
106111
github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c // indirect
112+
go4.org v0.0.0-20200411211856-f5505b9728dd // indirect
107113
golang.org/x/crypto v0.13.0 // indirect
114+
golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect
108115
golang.org/x/net v0.15.0 // indirect
109116
golang.org/x/oauth2 v0.12.0 // indirect
110117
golang.org/x/sys v0.12.0 // indirect

0 commit comments

Comments
 (0)