From fa88901174d76a4e372d8e5478ce0e180354e842 Mon Sep 17 00:00:00 2001 From: Alex Suraci Date: Sat, 2 Jul 2022 09:48:15 -0400 Subject: [PATCH 1/4] Revert "prototext: set Indent rather than Multiline" This reverts commit 8f0705dd1f3d14365b81775f498a5dc8624eadb1. the cause of this was actually that protobuf randomizes output; explicitly using a formatter resolves the issue --- cmd/bass/bump.go | 2 +- pkg/bass/memo.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/bass/bump.go b/cmd/bass/bump.go index db7087b0..30f3f2fd 100644 --- a/cmd/bass/bump.go +++ b/cmd/bass/bump.go @@ -65,7 +65,7 @@ func bump(ctx context.Context) error { } } - payload, err := prototext.MarshalOptions{Indent: " "}.Marshal(content) + payload, err := prototext.MarshalOptions{Multiline: true}.Marshal(content) if err != nil { return err } diff --git a/pkg/bass/memo.go b/pkg/bass/memo.go index d108c616..ea60c0e7 100644 --- a/pkg/bass/memo.go +++ b/pkg/bass/memo.go @@ -361,7 +361,7 @@ func (file *Lockfile) load() (*proto.Memosphere, error) { } func (file *Lockfile) save(content *proto.Memosphere) error { - payload, err := (prototext.MarshalOptions{Indent: " "}).Marshal(content) + payload, err := (prototext.MarshalOptions{Multiline: true}).Marshal(content) if err != nil { return err } From 6ffb2e5c25d2caabff8546d7ae738695f63a714d Mon Sep 17 00:00:00 2001 From: Alex Suraci Date: Sat, 2 Jul 2022 09:48:05 -0400 Subject: [PATCH 2/4] deterministic formatting for bass.lock --- cmd/bass/bump.go | 8 +++++++- go.mod | 3 +++ go.sum | 6 ++++++ pkg/bass/memo.go | 8 +++++++- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/cmd/bass/bump.go b/cmd/bass/bump.go index 30f3f2fd..504401c7 100644 --- a/cmd/bass/bump.go +++ b/cmd/bass/bump.go @@ -4,6 +4,7 @@ import ( "context" "os" + "github.com/protocolbuffers/txtpbfmt/parser" "github.com/vito/bass/pkg/bass" "github.com/vito/bass/pkg/proto" "github.com/vito/progrock" @@ -70,6 +71,11 @@ func bump(ctx context.Context) error { return err } - return os.WriteFile(bumpLock, payload, 0644) + fmted, err := parser.Format(payload) + if err != nil { + return err + } + + return os.WriteFile(bumpLock, fmted, 0644) }) } diff --git a/go.mod b/go.mod index b7d48387..d092decf 100644 --- a/go.mod +++ b/go.mod @@ -27,6 +27,7 @@ require ( github.com/opencontainers/image-spec v1.0.2 github.com/opencontainers/umoci v0.4.7 github.com/pkg/errors v0.9.1 + github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef github.com/segmentio/textio v1.2.0 github.com/sourcegraph/jsonrpc2 v0.1.0 @@ -67,6 +68,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect @@ -78,6 +80,7 @@ require ( github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/mattn/go-tty v0.0.3 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mna/pigeon v1.0.1-0.20200224192238-18953b277063 // indirect github.com/moby/sys/signal v0.6.0 // indirect github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect diff --git a/go.sum b/go.sum index d926eb6d..08709f8a 100644 --- a/go.sum +++ b/go.sum @@ -456,6 +456,7 @@ github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -642,6 +643,7 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= @@ -697,6 +699,8 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -864,6 +868,8 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a h1:AKJY61V2SQtJ2a2PdeswKk0NM1qF77X+julRNYRxPOk= +github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a/go.mod h1:KjY0wibdYKc4DYkerHSbguaf3JeIPGhNJBp2BNiFH78= github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef h1:NKxTG6GVGbfMXc2mIk+KphcH6hagbVXhcFkbTgYleTI= github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef/go.mod h1:tcaRap0jS3eifrEEllL6ZMd9dg8IlDpi2S1oARrQ+NI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/pkg/bass/memo.go b/pkg/bass/memo.go index ea60c0e7..bb4403bc 100644 --- a/pkg/bass/memo.go +++ b/pkg/bass/memo.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/gofrs/flock" + "github.com/protocolbuffers/txtpbfmt/parser" "github.com/vito/bass/pkg/proto" "google.golang.org/protobuf/encoding/prototext" gproto "google.golang.org/protobuf/proto" @@ -366,5 +367,10 @@ func (file *Lockfile) save(content *proto.Memosphere) error { return err } - return os.WriteFile(file.path, payload, 0644) + fmted, err := parser.Format(payload) + if err != nil { + return err + } + + return os.WriteFile(file.path, fmted, 0644) } From b49d5b47c9a0358270b501d93cc79c695a0dc6dc Mon Sep 17 00:00:00 2001 From: Alex Suraci Date: Sat, 2 Jul 2022 12:58:07 -0400 Subject: [PATCH 3/4] bump nix vendorsha --- nix/vendorSha256.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/vendorSha256.txt b/nix/vendorSha256.txt index 1258dcc0..3c190d72 100644 --- a/nix/vendorSha256.txt +++ b/nix/vendorSha256.txt @@ -1 +1 @@ -sha256-30k08LKuZ1zgmW+8s/U3T7BGiV95qhIjGPLZaqzXUH4= +sha256-YDpyencMX3tg1slH3D3nhcazpF/oPfRJFgu/vsm9LD8= From f479a402bbe1b713e96b03cb3bdd8a2f7f13db18 Mon Sep 17 00:00:00 2001 From: Alex Suraci Date: Sat, 2 Jul 2022 13:10:28 -0400 Subject: [PATCH 4/4] add gh cli as dev dependency --- flake.lock | 12 ++++++------ flake.nix | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8345cf59..e914bd9b 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "flake-utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656065134, + "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", "type": "github" }, "original": { @@ -17,11 +17,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1654398695, - "narHash": "sha256-Kw/KeoFXszNsF5mORP45mrxCP+k9Aq03hWcuWCL9sdI=", + "lastModified": 1656401090, + "narHash": "sha256-bUS2nfQsvTQW2z8SK7oEFSElbmoBahOPtbXPm0AL3I4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c5d810f4c74c824ae0fb788103003c6c9d366a08", + "rev": "16de63fcc54e88b9a106a603038dd5dd2feb21eb", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index dd7db315..dbe9589e 100644 --- a/flake.nix +++ b/flake.nix @@ -40,6 +40,7 @@ default = pkgs.mkShell { nativeBuildInputs = pkgs.callPackage ./nix/deps.nix { } ++ (with pkgs; [ gopls + gh ]); }; });