12 Commits

Author SHA1 Message Date
Chris Roberts
78b8aa6caa Update local development dependencies 2024-01-03 18:03:48 -08:00
Chris Roberts
61cac94dc3 Update flake 2023-09-07 16:20:45 -07:00
Chris Roberts
d05bff6570 Update local dev to Ruby 3.1 2023-06-05 17:39:58 -07:00
Chris Roberts
24acecdae1 Update dev tools 2023-06-05 14:18:05 -07:00
Paul Hinze
7e3066e7be
nix: Update protobuf & mockery to latest version
Also run `nix flake update` to get general package updates
2022-06-03 14:28:40 -05:00
Paul Hinze
4c21cb6ae5
Add release-grade logic for finding legacy Vagrant
After lots of experimentation I have landed on this as my proposal for
how we have our Go binary find its Ruby counterpart: just have it grab
it from the $PATH! @evanphx showed me this neat trick where by borrowing
a couple of helper methods from `exec` and tweaking them we can get
logic that will do a $PATH lookup that excludes "ourself". This allows
us to have both `vagrant` executables on the path... and means that
switching between Gogo-by-default or Legacy-by-default is just a matter
of tweaking $PATH order.

It _also_ means that we don't need any different lookup logic for
"release mode" vs "development mode" which is what I was looking at
before this solution.

In order to continue to facilitate development, I've generated a binstub
for vagrant using `bundle binstubs vagrant --standalone --path
./binstubs`, and I've updated the Nix development setup to prepend this
directory to the $PATH.

NOTE: Non-Nix users will need to modify their $PATH in the same way to
get the same behavior in development.
2022-04-25 12:26:49 -05:00
Paul Hinze
edc0e67851
nix: Add protoc-gen-go-grpc package
This command is used in `go generate` but hadn't been pulled into the
nix dependencies yet. Previously I was installing the binary via `go
get` but this is cleaner and more nix-y.

Also includes a `nix flake update` for good measure.
2022-04-25 12:26:43 -05:00
Paul Hinze
3baf8fba35
nix: Update mockery to most recent version
Keeping things pinned to the last released version should hopefully help
minimize comment churn (as each generated run outputs the version in the
comments).
2022-04-25 12:26:17 -05:00
Paul Hinze
27225689b7
nix: Add libarchive so bsdtar is in scope
It's needed to successfully complete the full test suite
2022-04-25 12:26:16 -05:00
Paul Hinze
7a38f46633
nix: Add grpc-tools as explicit dependency
The grpc-tools gem is just a bundle of prebuilt binaries with a thin
layer of wiring to invoke the correct binary given the calling system.
On Nix, prebuilt binaries don't work because they can't find their
dynamically linked libraries in the "normal" places you'd expect on a
Linux machine. Nix has tooling (`autoPatchelf`) which can fixup a given
binary and wire it correctly to the Nix store. We need to have Nix fetch
and build `grpc-tools` so we can invoke this tooling rather than just
letting `bundle install` get the gem.
2022-04-25 12:25:57 -05:00
Paul Hinze
a5f0064a86
Adapt nix configs for Vagrant needs
* Remove postgres, docker, k8s, and DO requirements
 * Add ruby
2022-04-25 12:25:55 -05:00
Paul Hinze
072ae3a467
Start with straight copy/paste from waypoint project
Only names / descriptions are changed... lots of extras in here we'll
need to clean out
2022-04-25 12:25:55 -05:00