Commit graph

218 commits

Author SHA1 Message Date
adisbladis
ade4c20234 Factor out Go version selection from mkGoEnv and add it to buildGoApplication too 2022-06-13 20:53:45 +08:00
adisbladis
c3c8aa564d
Merge pull request #53 from tweag/mkgoenv
Add `mkGoEnv` function
2022-06-13 20:44:29 +08:00
adisbladis
e95e393da8 tests: Add mkGoEnv test 2022-06-13 20:37:42 +08:00
adisbladis
908ab2bb87 Precompile internal packages instead of using go run
It shaves off a second or so of wait time per environment.
2022-06-13 20:37:42 +08:00
adisbladis
973b050adf fetcher: Make sure sources are writable before filtering .ds_store 2022-06-13 20:37:42 +08:00
adisbladis
1eb70073c4 Bump dependencies 2022-06-13 20:37:42 +08:00
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
71c797eb0d
Merge pull request #52 from adisbladis/mac-ds-store-filter
Filter MacOS .DS_Store directories
2022-06-01 01:51:37 +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