!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

235 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.48 Servers

Load older messages


SenderMessageTime
13 Feb 2024
@anthr76:mozilla.organthr76Got it, that did it19:04:23
@anthr76:mozilla.organthr76

So it then failed

       >   fatal: could not read Username for 'https://github.com': terminal prompts disabled
       > Confirm the import path was entered correctly.
       > If this is a private repositor
19:04:43
@qbit:tapenet.org@qbit:tapenet.orgso now put your .netrc and set HOME and see if it works? 19:05:19
@qbit:tapenet.org@qbit:tapenet.orgadding your credentials to a .netrc is not ideal though :D19:05:32
@anthr76:mozilla.organthr76I'm new to nix package but been doing it in fedora land for a while so really what would be best is if I can vendor in the source phase since these repos don't vendor ~/.netrc is present and works 19:05:49
@qbit:tapenet.org@qbit:tapenet.orgrelative to the build? 19:06:11
@qbit:tapenet.org@qbit:tapenet.orgor in your own home dir?19:06:15
@anthr76:mozilla.organthr76In my own home-dir19:06:26
@anthr76:mozilla.organthr76it seems like nix uses access-token to pull the source tarbal but I've tried to pull git https on my shell (which uses netrc) and that does work should it be relative to the build?19:07:13
@qbit:tapenet.org@qbit:tapenet.orgnix builds are isolated from all that (to prevent other dependencies from leaking in)19:07:15
@anthr76:mozilla.organthr76yeah that makes sense19:07:28
@anthr76:mozilla.organthr76i guess I'm looking for the right hole to punch to solve a problem like this19:07:42
@anthr76:mozilla.organthr76 to me having nix run go mod vendor while it has access to my token seems to make the most sense and repeatable for CI 19:08:03
@qbit:tapenet.org@qbit:tapenet.org so, it's basically running go mod vendor and storing that as a separate derivation in the nix store 19:09:11
@qbit:tapenet.org@qbit:tapenet.org the vendorHash is the hash of that derivation 19:09:19
@anthr76:mozilla.organthr76So is it possibly a bug?19:09:37
@qbit:tapenet.org@qbit:tapenet.orgit just doesn't have the ability to pull down the deps since they are private 19:09:38
@anthr76:mozilla.organthr76Because nix can access the private repo in src19:09:47
@anthr76:mozilla.organthr76

This

  src = builtins.fetchGit {
    url = "git@github.com:foo/bar.git";
    ref = "refs/tags/v${version}";
    rev = "f993f922c88345604fdea284b624a97b9a1ee604";
  };

Is private but nix knows to use my access-token

19:10:11
@qbit:tapenet.org@qbit:tapenet.orghttps://nixos.wiki/wiki/Enterprise19:10:48
@qbit:tapenet.org@qbit:tapenet.orgseems that's what you want19:10:53
@qbit:tapenet.org@qbit:tapenet.orgit's not ideal though - since other people will have to configure all that themselves19:11:27
@anthr76:mozilla.organthr76

yes that is setup (.netrc) and works for

  src = builtins.fetchGit {
    url = "git@github.com:foo/bar.git";
    ref = "refs/tags/v${version}";
    rev = "f993f922c88345604fdea284b624a97b9a1ee604";
  };

but not for the go modules themselves

19:12:18
@qbit:tapenet.org@qbit:tapenet.orgyour ~/.netrc won't have any impact on nix's build19:15:04
@anthr76:mozilla.organthr76The access-tokens do though19:15:26
@qbit:tapenet.org@qbit:tapenet.orgit has to build the vendor stuff first.. then the src for your project19:16:00
@qbit:tapenet.org@qbit:tapenet.orgso you likely haven't evaluated that src block yet19:16:11
@anthr76:mozilla.organthr76I can see in my build it pulls down the source tarball19:21:25
@anthr76:mozilla.organthr76
In reply to @anthr76:mozilla.org

So it then failed

       >   fatal: could not read Username for 'https://github.com': terminal prompts disabled
       > Confirm the import path was entered correctly.
       > If this is a private repositor
This fails for go modules not the original go project
19:21:36
@anthr76:mozilla.organthr76

Here's a log of it building public go mods

[1/0/2 built] building foo-1.13.0-go-modules (buildPhase): go: downloading google.golang.org/protobuf v1.31.0
19:53:18

Show newer messages


Back to Room ListRoom Version: 9