| 3 Apr 2024 |
@qbit:tapenet.org | Mmmm | 18:43:00 |
jrick | huh, ok false alarm. i saw this because i was writing my own checkPhase | 18:51:21 |
| 4 Apr 2024 |
jrick | it looks like some .info files are missing with proxyVendor for transitive module requirements that aren't actually imported at all | 18:03:28 |
jrick | this breaks go list -m all | 18:03:36 |
| Diamond (it/she) changed their profile picture. | 18:30:18 |
jrick | hmm, and i don't think overrideAttrs are passed through to the buildGoModule argument. or at least not all of them are | 18:52:10 |
jrick | i'm too new to nix to know if that's a bug or not :) | 18:52:36 |
jrick | i can override checkPhase with it, which makes sense because that comes from mkDerivation, but i can't pass in proxyVendor=true for example, which is unique to buildGoModule | 18:55:55 |
@qbit:tapenet.org | wonder if https://github.com/NixOS/nixpkgs/pull/284568 helps with it at all? | 20:16:35 |
@qbit:tapenet.org | what is it you are doing? can you paste the codes? | 20:16:45 |
jrick | can in a sec, that pr looks promising | 20:17:28 |
jrick | these are the logs i see though, https://gist.githubusercontent.com/jrick/4987872fdb5293bdbab73388566cbb22/raw/16a6c270d39d7bdb90e5220361f8a7d57864cd2a/gistfile1.txt has the errors (i expected i would need to patch out the tests, but it seems this bug is doing that for me :D), and https://gist.githubusercontent.com/jrick/1465c134f98334d6651e4912a8f94ef4/raw/656bc1a204665d2702ab69cd1afc407cae65d69e/gistfile1.txt shows all the files in the proxy'd module cache. note how there are missing .info files but only for modules this project doesn't import packages from | 20:18:44 |
jrick | * these are the logs i see though, https://gist.githubusercontent.com/jrick/4987872fdb5293bdbab73388566cbb22/raw/16a6c270d39d7bdb90e5220361f8a7d57864cd2a/gistfile1.txt has the errors (i expected i would need to patch out the lints, but it seems this bug is doing that for me :D), and https://gist.githubusercontent.com/jrick/1465c134f98334d6651e4912a8f94ef4/raw/656bc1a204665d2702ab69cd1afc407cae65d69e/gistfile1.txt shows all the files in the proxy'd module cache. note how there are missing .info files but only for modules this project doesn't import packages from | 20:19:08 |
jrick | package derivation https://gist.githubusercontent.com/jrick/f5212605c04e4ef0f3de1bcd8d15a469/raw/b3ece32ee7bf3e7aba6a7d65738356e9eb9573c4/gistfile1.txt | 20:21:48 |
jrick | run_test.sh calls go list -m all since the lint tool being used doesn't understand ./... | 20:23:09 |
jrick | so it is picking up transitive modules that don't appear in the import graph | 20:23:31 |
@qbit:tapenet.org | heh, it built fine for me | 20:26:15 |
@qbit:tapenet.org | this 23.11? | 20:26:20 |
jrick | unstable | 20:26:29 |
jrick | it builds fine, but check the log | 20:26:34 |
jrick | if go list -m all worked properly during check phase it should have errored for missing linter tools not being installed | 20:27:35 |
jrick | but because this script is not dying on that error, it ends up linting nothing, and passes checks | 20:27:53 |
jrick | i'm less sure about that PR now, doesn't seem like it would change what gets placed in the proxied module cache | 20:48:59 |
| 5 Apr 2024 |
Paul Meyer (katexochen) | In reply to @jrick:zettaport.com i'm less sure about that PR now, doesn't seem like it would change what gets placed in the proxied module cache Shouldn't the module cache just contain the dependencies of the main module anyway? The builder is running go mod download in $modRoot, so it (correctly) won't download deps of submodules. | 08:19:01 |
| Frédéric Christ joined the room. | 10:57:51 |
jrick | yeah it's fine enough to build, just happens to break go list -m all in this case if you run that from e.g. checkPhase. i'm a bit confused why it is copying all of the other files for those modules, but lacks the .info files | 13:03:38 |
Frédéric Christ | Hi, any successful experiences in building go modules with dependencies in private repositories?
buildGoModule obviously does not consider my local SSH configuration, so the build fails. There's also a post in our discourse about that but their intermediate solution is go mod vendor. | 13:43:27 |
@qbit:tapenet.org | Frédéric Christ: vendor will for sure be the least friction | 14:29:53 |
@qbit:tapenet.org | you can add some stuff to nix.conf.. but that's not very reproducible across a team | 14:30:11 |
@qbit:tapenet.org | look for access-tokens in man nix.conf | 14:30:53 |