Commit graph

111 commits

Author SHA1 Message Date
adisbladis
a4bed25a86 Add mkGoEnv function
This creates an `mkGoEnv` function which takes care of adding the
correct Go package to your development environment and installs
development dependencies from tools.go in a Nix derivation.

The "normal" workflow around Go with tools.go just sticks development
dependencies in $GOBIN which isn't ideal since you have no separation
between projects.
2022-06-13 20:37:42 +08:00
adisbladis
d7830bd5b2 Filter MacOS .DS_Store directories
Now that we're hashing files directly from the Go sources on the host
system we need to avoid these files.

Closes #49.
2022-06-01 01:46:29 +08:00
adisbladis
fb910de8cc
Merge pull request #51 from adisbladis/max-workers
Reintroduce the max workers flag
2022-05-31 02:13:57 +08:00
adisbladis
e1d46e6973 Reintroduce the max workers flag
It turns out that this is actually useful to limit the number of open files.

Fixes https://github.com/tweag/gomod2nix/issues/50.
2022-05-31 02:07:27 +08:00
adisbladis
bf3e9afe32
Merge pull request #48 from adisbladis/third-party-2022-05-30
Bump go.mod dependencies
2022-05-30 20:00:09 +08:00
adisbladis
3de2f9540e Bump go.mod dependencies 2022-05-30 19:21:48 +08:00
adisbladis
90653f16ab
Merge pull request #47 from adisbladis/flake-template
templates: Add a flake template
2022-05-30 19:21:37 +08:00
adisbladis
d30b3ca30a templates: Add a flake template 2022-05-30 19:17:02 +08:00
adisbladis
3ae35c5ce1
Merge pull request #46 from adisbladis/golangci-lint
Add golangci-lint
2022-05-30 18:49:27 +08:00
adisbladis
f49e99e02f github actions: Add golangci-lint 2022-05-30 18:38:04 +08:00
adisbladis
ea6b999c69 Fix golangci-lint errors 2022-05-30 18:36:26 +08:00
adisbladis
688cd6dbe3 shell.nix: Add golangci-lint 2022-05-30 18:34:43 +08:00
adisbladis
c72445c826 tests: Handle test cases without a go.mod 2022-05-30 18:33:40 +08:00
adisbladis
ce3a6771f0 gomod2nix: Filter builder expressions from cli build 2022-05-30 18:33:40 +08:00
adisbladis
453a78f7b3
Merge pull request #45 from adisbladis/cross-test
tests: Add a cross test
2022-05-30 18:29:31 +08:00
adisbladis
9c68732917 tests: Add a cross test 2022-05-30 18:23:54 +08:00
adisbladis
3f80d454ce Bump flake inputs 2022-05-30 18:10:53 +08:00
adisbladis
79e326c335
Merge pull request #44 from yihuang/patch-1
Lower the prerequisite of gomod2nix
2022-05-30 16:45:15 +08:00
yihuang
9a26cc68c0 Lower the prerequisite of gomod2nix
`go_1_18` is only available in nixpkgs master, but `go_1_17` is available in stable `release-21.11`.
2022-05-30 16:40:20 +08:00
adisbladis
b9b7ac34cb
Merge pull request #43 from yihuang/GOPROXY
support impure env GOPROXY
2022-05-30 14:18:09 +08:00
HuangYi
36bc9ef864
support impure env GOPROXY
which is by go mod download
2022-05-30 11:13:30 +08:00
adisbladis
cabedd2add
Merge pull request #41 from adisbladis/go-mod-download-fetcher
Use `go mod download` as a fetcher
2022-05-29 16:31:28 +08:00
adisbladis
9692570d28 Github actions: Clean up superflous test.yml file 2022-05-29 16:24:58 +08:00
adisbladis
cf9aca22ba actions: Add check to see if gomod2nix.toml is up to date 2022-05-29 16:24:58 +08:00
adisbladis
7c36ecab4d Remove Makefile 2022-05-29 16:24:58 +08:00
adisbladis
0c9ebb15d6 shell.nix: Remove nix-prefetch-git 2022-05-29 16:24:58 +08:00
adisbladis
98ffbabcfa actions: Generate github actions matrix dynamically 2022-05-29 16:24:58 +08:00
adisbladis
d5d8bbba2d Add test listing capabilites to harness
We will use this to generate the Github Actions matrix
2022-05-29 16:24:58 +08:00
adisbladis
5c1f8f8467 Use Go 1.18 for testing 2022-05-29 16:24:58 +08:00
adisbladis
306429dcb2 Blacklist long-running tests in Github Actions
Tests take 1+ hour right now for very little purpose.
2022-05-29 16:24:58 +08:00
adisbladis
2f6cbe69cb Remove check-fmt script 2022-05-29 16:24:58 +08:00
adisbladis
1df6a97829 Set NIX_PATH in development shell 2022-05-29 16:24:58 +08:00
adisbladis
79d737ec6e Fix passing of Go to buildGoApplication 2022-05-29 16:24:58 +08:00
adisbladis
d831b947fc Fix go.mod parser for repeated replace directives
Constructs such as
```
replace google.golang.org/grpc => google.golang.org/grpc v1.33.2
replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
```

Are perfectly valid and we previously discarded every one but the last of them.
2022-05-29 16:23:37 +08:00
adisbladis
3c029180a3 tests: Reimplement test harness in Go
And make it run in parallell
2022-05-28 22:56:52 +08:00
adisbladis
ecb0d11088 generate: Set correct working directory for go mod download 2022-05-28 22:56:52 +08:00
adisbladis
631293329e tests.minikube: Fix test 2022-05-28 22:56:52 +08:00
adisbladis
6273e2cefb Remove max workers argument
Now that we're not spawning subprocesses like crazy it's far less
relevant to limit concurrency.
2022-05-28 22:56:52 +08:00
adisbladis
33b65aa13e root: Use new format for building self 2022-05-28 22:56:52 +08:00
adisbladis
44bb5b9495 builder: Use new format for building 2022-05-28 22:56:52 +08:00
adisbladis
53270b071e Replace dependency on Nix with go-nix
This calculates the output hashes in pure Go and removes Nix from
being a run time dependency of gomod2nix.

Additionally it should be faster, but that's untested.
2022-05-28 22:56:52 +08:00
adisbladis
5125e0aa97 Add back internal caching for previously generated packages 2022-05-28 22:56:52 +08:00
adisbladis
de2aeaeb0b Run go mod tidy 2022-05-28 22:56:52 +08:00
adisbladis
1d2041bfc6 Restructure internal package names 2022-05-28 22:56:52 +08:00
adisbladis
5cb8bd825d fetch: Run in parallell 2022-05-28 22:56:52 +08:00
adisbladis
f10ef7325c fetch: Migrate to new fetcher method (using Go as the fetcher) 2022-05-28 22:56:52 +08:00
adisbladis
a5c4020da8 fetch.go: Only use a singular cache instance 2022-05-28 22:56:52 +08:00
adisbladis
12916dd856 tests: Get rid of meta since stdenv.lib is no longer available 2022-05-28 22:56:52 +08:00
adisbladis
8cb0e010cf
Merge pull request #40 from tweag/buildgopackage-drop
Drop support for buildGoPackage format
2022-05-26 19:57:01 +08:00
adisbladis
4ffc0dfd48 Drop support for buildGoPackage format
It was buggy at best and will never really work out because of semantic differences, mainly around nested package handling.

We're better off focusing on a single format which can be well supported.
2022-05-26 19:07:06 +08:00