Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xcaddy does not download newly published module versions, even when specified #221

Open
infogulch opened this issue Jan 7, 2025 · 12 comments
Labels
bug Something isn't working good first issue Good for newcomers help wanted Extra attention is needed

Comments

@infogulch
Copy link

I published a new version of my module by tagging it and pushing the tag to GH, and immediately tried to xcaddy build with it like xcaddy build --with github.com/infogulch/[email protected], but xcaddy continued to use the old module version. After I manually updated the go proxy service with go get github.com/infogulch/[email protected] then it pulled in the new version. (See https://proxy.golang.org/#faq-new-version)

Some issues:

  • I would expect xcaddy build --with module@version to download new module versions like go get module@version does.
  • I would expect xcaddy to complain and fail to build if it didn't find the version I specify, instead of just building with whatever other version it happens to find instead.

I expect this to reproduce with the following steps:

  1. Create a new module and publish a version
    1. Create new repo containing a caddy module
    2. Tag an initial version git tag -a v0.0.1; git push --tags
    3. Add it to the proxy go get [email protected]
    4. Verify that it builds in caddy xcaddy build --with [email protected]
  2. Publish a new version
    1. git commit ...; git tag -a v0.0.2; git push --tags
    2. Do not manually fetch it with go get
    3. Try to xcaddy build with the new version xcaddy build --with [email protected]
    4. Observe in the build logs that it is still using v0.0.1
@mholt
Copy link
Member

mholt commented Jan 7, 2025

What's the command you ran and the output? I'll try to reproduce it.

@infogulch
Copy link
Author

AFAICT the issue can only be reproduced once per release. Once it's cached in the go module proxy then the problem goes away. So to reproduce it you have to make a brand new release of an existing caddy module and try to xcaddy build with it, as I describe in the reproduction steps in my initial comment.

@infogulch
Copy link
Author

infogulch commented Jan 7, 2025

You can see the effect in this series of GH action runs: https://github.com/infogulch/xtemplate/actions/runs/12643197444

Image

You can find the xcaddy logs for each run in the root of the logs.zip artifact named xcaddy.log. The command is: xcaddy build --with github.com/infogulch/xtemplate-caddy --with github.com/infogulch/xtemplate=. --with github.com/mattn/go-sqlite3 --output \(vars.testdir)/caddy &>\(vars.testdir)/xcaddy.log. Locally I also tried adding .../[email protected].

Obviously the code for each run was not changed. The only thing that changed between the failed runs and the successful run is that I ran go get github.com/infogulch/[email protected] on my local machine, which populates the go module proxy.

Note the timings:

  • 2025-01-07T01:06:47Z I push to the repo which triggers Attempt #1 and fails
  • 2025-01-07T01:14:12Z I tag and push [email protected]
  • 2025-01-07T01:14:42Z I manually rerun the job to make Attempt #2 which fails
  • In between I try to debug locally, where eventually I run go get github.com/infogulch/[email protected] on my local machine and it starts working locally.
  • 2025-01-07T01:59:29Z I manually rerun the job again and it succeeds

@mohammed90
Copy link
Member

This is strange because xcaddy isn't doing anything special. It's a wrapper around go command, and it does call go get with the module path and version:

xcaddy/environment.go

Lines 182 to 193 in eb894be

for _, p := range b.Plugins {
// if module is locally available, do not "go get" it;
// also note that we iterate and check prefixes, because
// a plugin package may be a subfolder of a module, i.e.
// foo/a/plugin is within module foo/a.
for repl := range replaced {
if strings.HasPrefix(p.PackagePath, repl) {
continue nextPlugin
}
}
// also pass the Caddy version to prevent it from being upgraded
err = env.execGoGet(ctx, p.PackagePath, p.Version, caddyModulePath, env.caddyVersion)

xcaddy cannot know to fail or complain if the go get command itself succeeds. I wonder if it's local build cache issue... but it's a clean env 🤔

@mholt
Copy link
Member

mholt commented Jan 7, 2025

Thanks; from the logs:

go: downloading github.com/caddyserver/caddy v1.0.5

That's weird. It then downloads caddy/v2, but it shouldn't be getting v1 at all... I would check your plugins for correctness here...

Mohammed is right though; xcaddy literally just wraps the go command, so I'm not sure if we're the best situated to troubleshoot this. I'm not really sure what's going on. 🤷‍♂

(Closing, since I don't think there's anything we can fix in xcaddy for this, but feel free to continue discussion!)

@mholt mholt closed this as not planned Won't fix, can't repro, duplicate, stale Jan 7, 2025
@infogulch
Copy link
Author

So I checked the logs and xcaddy never runs go get go get github.com/infogulch/[email protected]. Based on the code Mohammed linked, each executed command prints to the log log.Printf("[INFO] exec (timeout=%s): %+v ", timeout, cmd). But among all of the executed commands, the one to install the module I needed was never executed:

2025/01/07 01:07:11 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go mod init caddy 
2025/01/07 01:07:11 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go mod edit -replace github.com/infogulch/xtemplate=/home/runner/work/xtemplate/xtemplate 
2025/01/07 01:07:11 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go get -v github.com/caddyserver/caddy/v2 
2025/01/07 01:07:16 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go get -v github.com/mattn/go-sqlite3 github.com/caddyserver/caddy/v2 
2025/01/07 01:07:16 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go get -v  
2025/01/07 01:07:31 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go mod tidy -e 
2025/01/07 01:07:46 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go build -o /home/runner/work/xtemplate/xtemplate/test/caddy -ldflags -w -s -trimpath -tags nobadger,nomysql,nopgx 

xcaddy.log

@mohammed90
Copy link
Member

What does your script execute? Why the replace?

2025/01/07 01:07:11 [INFO] exec (timeout=0s): /opt/hostedtoolcache/go/1.23.4/x64/bin/go mod edit -replace github.com/infogulch/xtemplate=/home/runner/work/xtemplate/xtemplate

That's why it isn't picking up the new version. You're telling Go to use the local source code, regardless of the specified version. Just run this:

xcaddy build --with github.com/infogulch/xtemplate-caddy@<version>

@infogulch
Copy link
Author

The full command that I execute is xcaddy build --with github.com/infogulch/xtemplate-caddy --with github.com/infogulch/xtemplate=. --with github.com/mattn/go-sqlite3 --output \(vars.testdir)/caddy &>/temp/xyz/xcaddy.log. Note I'm overriding github.com/infogulch/xtemplate=., but not github.com/infogulch/xtemplate-caddy.

@mohammed90
Copy link
Member

The full command that I execute is xcaddy build --with github.com/infogulch/xtemplate-caddy

This is what I'm saying. Your command doesn't specify a version. Add the @<version> or @latest. As you see, xcaddy isn't doing anything special. It passes the arguments to go get.

@infogulch
Copy link
Author

infogulch commented Jan 12, 2025

Ok I'm not doing a very good job describing the problem.

Just now I ran this which references [email protected], which is a version that does not exist:

xcaddy build --with github.com/infogulch/[email protected] --with github.com/infogulch/xtemplate=. --with github.com/mattn/go-sqlite3

But it built with v0.2.2, completely ignoring the version specifier, and it never executed go get with this module@version:

$ xcaddy build --with github.com/infogulch/[email protected] --with github.com/infogulch/xtemplate=. --with github.com/mattn/go-sqlite3
2025/01/11 18:46:17 [INFO] Resolved relative replacement github.com/infogulch/xtemplate=. to /home/joe/xtemplate
2025/01/11 18:46:17 [INFO] Temporary folder: /tmp/buildenv_2025-01-11-1846.2672384497
2025/01/11 18:46:17 [INFO] Writing main module: /tmp/buildenv_2025-01-11-1846.2672384497/main.go
package main

import (
        caddycmd "github.com/caddyserver/caddy/v2/cmd"

        // plug in Caddy modules here
        _ "github.com/caddyserver/caddy/v2/modules/standard"
        _ "github.com/infogulch/xtemplate-caddy"
        _ "github.com/infogulch/xtemplate"
        _ "github.com/mattn/go-sqlite3"
)

func main() {
        caddycmd.Main()
}
2025/01/11 18:46:17 [INFO] Initializing Go module
2025/01/11 18:46:17 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go mod init caddy 
go: creating new go.mod: module caddy
go: to add module requirements and sums:
        go mod tidy
2025/01/11 18:46:17 [INFO] Replace github.com/infogulch/xtemplate => /home/joe/xtemplate
2025/01/11 18:46:17 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go mod edit -replace github.com/infogulch/xtemplate=/home/joe/xtemplate 
2025/01/11 18:46:17 [INFO] Pinning versions
2025/01/11 18:46:17 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go get -d -v github.com/caddyserver/caddy/v2 
go: -d flag is deprecated. -d=true is a no-op
go: downloading github.com/caddyserver/caddy/v2 v2.9.1
go: downloading github.com/caddyserver/certmagic v0.21.6
go: added github.com/beorn7/perks v1.0.1
go: added github.com/caddyserver/caddy/v2 v2.9.1
go: added github.com/caddyserver/certmagic v0.21.6
go: added github.com/caddyserver/zerossl v0.1.3
go: added github.com/cespare/xxhash/v2 v2.3.0
go: added github.com/francoispqt/gojay v1.2.13
go: added github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
go: added github.com/google/pprof v0.0.0-20231212022811-ec68065c825e
go: added github.com/google/uuid v1.6.0
go: added github.com/klauspost/cpuid/v2 v2.2.9
go: added github.com/libdns/libdns v0.2.2
go: added github.com/mholt/acmez/v3 v3.0.0
go: added github.com/miekg/dns v1.1.62
go: added github.com/onsi/ginkgo/v2 v2.13.2
go: added github.com/prometheus/client_golang v1.19.1
go: added github.com/prometheus/client_model v0.5.0
go: added github.com/prometheus/common v0.48.0
go: added github.com/prometheus/procfs v0.12.0
go: added github.com/quic-go/qpack v0.5.1
go: added github.com/quic-go/quic-go v0.48.2
go: added github.com/zeebo/blake3 v0.2.4
go: added go.uber.org/mock v0.4.0
go: added go.uber.org/multierr v1.11.0
go: added go.uber.org/zap v1.27.0
go: added go.uber.org/zap/exp v0.3.0
go: added golang.org/x/crypto v0.31.0
go: added golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
go: added golang.org/x/mod v0.18.0
go: added golang.org/x/net v0.33.0
go: added golang.org/x/sync v0.10.0
go: added golang.org/x/sys v0.28.0
go: added golang.org/x/term v0.27.0
go: added golang.org/x/text v0.21.0
go: added golang.org/x/time v0.7.0
go: added golang.org/x/tools v0.22.0
go: added google.golang.org/protobuf v1.35.1
2025/01/11 18:46:18 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go get -d -v github.com/mattn/go-sqlite3 github.com/caddyserver/caddy/v2 
go: -d flag is deprecated. -d=true is a no-op
go: added github.com/mattn/go-sqlite3 v1.14.24
2025/01/11 18:46:19 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go get -d -v  
go: -d flag is deprecated. -d=true is a no-op
go: trying upgrade to github.com/infogulch/[email protected]
go: trying upgrade to github.com/infogulch/[email protected]
go: accepting indirect upgrade from github.com/Masterminds/semver/[email protected] to v3.3.1
go: accepting indirect upgrade from github.com/Microsoft/[email protected] to v0.6.2
go: accepting indirect upgrade from github.com/alecthomas/chroma/[email protected] to v2.15.0
go: accepting indirect upgrade from github.com/antlr4-go/antlr/[email protected] to v4.13.1
go: accepting indirect upgrade from github.com/cpuguy83/go-md2man/[email protected] to v2.0.6
go: accepting indirect upgrade from github.com/dgraph-io/[email protected] to v0.2.0
go: accepting indirect upgrade from github.com/dgryski/[email protected] to v0.0.0-20240924180020-3414d57e47da
go: accepting indirect upgrade from github.com/dlclark/[email protected] to v1.11.4
go: accepting indirect upgrade from github.com/go-sql-driver/[email protected] to v1.8.1
go: accepting indirect upgrade from github.com/google/[email protected] to v0.22.1
go: accepting indirect upgrade from github.com/google/[email protected] to v0.9.2
go: accepting indirect upgrade from github.com/google/[email protected] to v0.0.0-20241210010833-40e02aabc2ad
go: accepting indirect upgrade from github.com/jackc/[email protected] to v0.0.0-20240606120523-5a60cdf6a761
go: accepting indirect upgrade from github.com/onsi/ginkgo/[email protected] to v2.22.2
go: accepting indirect upgrade from github.com/prometheus/[email protected] to v1.20.5
go: accepting indirect upgrade from github.com/prometheus/[email protected] to v0.6.1
go: accepting indirect upgrade from github.com/prometheus/[email protected] to v0.61.0
go: accepting indirect upgrade from github.com/prometheus/[email protected] to v0.15.1
go: accepting indirect upgrade from github.com/rs/[email protected] to v1.6.0
go: accepting indirect upgrade from github.com/slackhq/[email protected] to v1.8.2
go: accepting indirect upgrade from github.com/smallstep/[email protected] to v0.7.0
go: accepting indirect upgrade from github.com/smallstep/[email protected] to v0.1.1
go: accepting indirect upgrade from github.com/smallstep/[email protected] to v0.0.0-20241223071629-a37a330173bc
go: accepting indirect upgrade from github.com/spf13/[email protected] to v1.7.1
go: accepting indirect upgrade from github.com/stoewer/[email protected] to v1.3.0
go: accepting indirect upgrade from github.com/urfave/[email protected] to v1.22.16
go: accepting indirect upgrade from go.etcd.io/[email protected] to v1.3.11
go: accepting indirect upgrade from go.step.sm/[email protected] to v0.56.0
go: accepting indirect upgrade from go.step.sm/[email protected] to v0.22.2
go: accepting indirect upgrade from go.uber.org/[email protected] to v0.5.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.32.0
go: accepting indirect upgrade from golang.org/x/crypto/x509roots/[email protected] to v0.0.0-20250106144430-8929309228b4
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.0.0-20250103183323-7d7fa50e5329
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.22.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.34.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.29.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.28.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.9.0
go: accepting indirect upgrade from golang.org/x/[email protected] to v0.29.0
go: accepting indirect upgrade from google.golang.org/genproto/googleapis/[email protected] to v0.0.0-20250106144421-5f5ef82da422
go: accepting indirect upgrade from google.golang.org/genproto/googleapis/[email protected] to v0.0.0-20250106144421-5f5ef82da422
go: accepting indirect upgrade from google.golang.org/[email protected] to v1.69.2
go: accepting indirect upgrade from google.golang.org/[email protected] to v1.36.1
go: accepting indirect upgrade from howett.net/[email protected] to v1.0.1
go: added cel.dev/expr v0.19.1
go: upgraded github.com/Masterminds/semver/v3 v3.3.0 => v3.3.1
go: upgraded github.com/Microsoft/go-winio v0.6.0 => v0.6.2
go: upgraded github.com/alecthomas/chroma/v2 v2.14.0 => v2.15.0
go: added github.com/andybalholm/brotli v1.1.1
go: upgraded github.com/antlr4-go/antlr/v4 v4.13.0 => v4.13.1
go: added github.com/aymerick/douceur v0.2.0
go: upgraded github.com/cpuguy83/go-md2man/v2 v2.0.4 => v2.0.6
go: upgraded github.com/dgraph-io/ristretto v0.1.0 => v0.2.0
go: upgraded github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 => v0.0.0-20240924180020-3414d57e47da
go: upgraded github.com/dlclark/regexp2 v1.11.0 => v1.11.4
go: upgraded github.com/fsnotify/fsnotify v1.4.7 => v1.8.0
go: upgraded github.com/go-sql-driver/mysql v1.7.1 => v1.8.1
go: added github.com/go-task/slim-sprig/v3 v3.0.0
go: upgraded github.com/google/cel-go v0.21.0 => v0.22.1
go: upgraded github.com/google/go-tpm v0.9.0 => v0.9.2
go: upgraded github.com/google/pprof v0.0.0-20231212022811-ec68065c825e => v0.0.0-20241210010833-40e02aabc2ad
go: added github.com/gorilla/css v1.0.1
go: added github.com/infogulch/watch v0.2.0
go: added github.com/infogulch/xtemplate v0.8.2
go: added github.com/infogulch/xtemplate-caddy v0.2.2
go: upgraded github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a => v0.0.0-20240606120523-5a60cdf6a761
go: added github.com/jackc/pgx/v5 v5.7.2
go: added github.com/jackc/puddle/v2 v2.2.2
go: upgraded github.com/microcosm-cc/bluemonday v1.0.1 => v1.0.27
go: added github.com/minio/highwayhash v1.0.3
go: added github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
go: added github.com/nats-io/jwt/v2 v2.7.3
go: added github.com/nats-io/nats-server/v2 v2.10.24
go: added github.com/nats-io/nats.go v1.38.0
go: added github.com/nats-io/nkeys v0.4.9
go: added github.com/nats-io/nuid v1.0.1
go: upgraded github.com/onsi/ginkgo/v2 v2.13.2 => v2.22.2
go: upgraded github.com/prometheus/client_golang v1.19.1 => v1.20.5
go: upgraded github.com/prometheus/client_model v0.5.0 => v0.6.1
go: upgraded github.com/prometheus/common v0.48.0 => v0.61.0
go: upgraded github.com/prometheus/procfs v0.12.0 => v0.15.1
go: upgraded github.com/rs/xid v1.5.0 => v1.6.0
go: upgraded github.com/slackhq/nebula v1.6.1 => v1.8.2
go: upgraded github.com/smallstep/nosql v0.6.1 => v0.7.0
go: upgraded github.com/smallstep/pkcs7 v0.0.0-20231024181729-3b98ecc1ca81 => v0.1.1
go: upgraded github.com/smallstep/scep v0.0.0-20231024192529-aee96d7ad34d => v0.0.0-20241223071629-a37a330173bc
go: upgraded github.com/spf13/cast v1.7.0 => v1.7.1
go: upgraded github.com/stoewer/go-strcase v1.2.0 => v1.3.0
go: added github.com/tdewolff/minify/v2 v2.21.2
go: added github.com/tdewolff/parse/v2 v2.7.19
go: upgraded github.com/urfave/cli v1.22.14 => v1.22.16
go: upgraded go.etcd.io/bbolt v1.3.9 => v1.3.11
go: upgraded go.step.sm/crypto v0.45.0 => v0.56.0
go: upgraded go.step.sm/linkedca v0.20.1 => v0.22.2
go: upgraded go.uber.org/mock v0.4.0 => v0.5.0
go: upgraded golang.org/x/crypto v0.31.0 => v0.32.0
go: upgraded golang.org/x/crypto/x509roots/fallback v0.0.0-20241104001025-71ed71b4faf9 => v0.0.0-20250106144430-8929309228b4
go: upgraded golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 => v0.0.0-20250103183323-7d7fa50e5329
go: upgraded golang.org/x/mod v0.18.0 => v0.22.0
go: upgraded golang.org/x/net v0.33.0 => v0.34.0
go: upgraded golang.org/x/sys v0.28.0 => v0.29.0
go: upgraded golang.org/x/term v0.27.0 => v0.28.0
go: upgraded golang.org/x/time v0.7.0 => v0.9.0
go: upgraded golang.org/x/tools v0.22.0 => v0.29.0
go: upgraded google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 => v0.0.0-20250106144421-5f5ef82da422
go: upgraded google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 => v0.0.0-20250106144421-5f5ef82da422
go: upgraded google.golang.org/grpc v1.67.1 => v1.69.2
go: upgraded google.golang.org/protobuf v1.35.1 => v1.36.1
go: upgraded howett.net/plist v1.0.0 => v1.0.1
2025/01/11 18:46:20 [INFO] Build environment ready
2025/01/11 18:46:20 [INFO] Building Caddy
2025/01/11 18:46:20 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go mod tidy -e 
2025/01/11 18:46:20 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go build -o /home/joe/xtemplate/caddy -ldflags -w -s -trimpath 
2025/01/11 18:46:33 [INFO] Build complete: ./caddy
2025/01/11 18:46:33 [INFO] Cleaning up temporary folder: /tmp/buildenv_2025-01-11-1846.2672384497

Do you agree that it should fail, and that it should try to run go get github.com/infogulch/[email protected]?


Next I ran this, which is the same as above except it doesn't override the xtemplate module with a local path, but it still references [email protected]:

xcaddy build --with github.com/infogulch/[email protected] --with github.com/infogulch/xtemplate --with github.com/mattn/go-sqlite3

This fails as expected with the error go: github.com/infogulch/[email protected]: invalid version: unknown revision v0.2.3.

$ xcaddy build --with github.com/infogulch/[email protected] --with github.com/infogulch/xtemplate --with github.com/mattn/go-sqlite3
2025/01/11 18:53:51 [INFO] Temporary folder: /tmp/buildenv_2025-01-11-1853.3571863799
2025/01/11 18:53:51 [INFO] Writing main module: /tmp/buildenv_2025-01-11-1853.3571863799/main.go
package main

import (
        caddycmd "github.com/caddyserver/caddy/v2/cmd"

        // plug in Caddy modules here
        _ "github.com/caddyserver/caddy/v2/modules/standard"
        _ "github.com/infogulch/xtemplate-caddy"
        _ "github.com/infogulch/xtemplate"
        _ "github.com/mattn/go-sqlite3"
)

func main() {
        caddycmd.Main()
}
2025/01/11 18:53:51 [INFO] Initializing Go module
2025/01/11 18:53:51 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go mod init caddy 
go: creating new go.mod: module caddy
go: to add module requirements and sums:
        go mod tidy
2025/01/11 18:53:51 [INFO] Pinning versions
2025/01/11 18:53:51 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go get -d -v github.com/caddyserver/caddy/v2 
go: -d flag is deprecated. -d=true is a no-op
go: added github.com/beorn7/perks v1.0.1
go: added github.com/caddyserver/caddy/v2 v2.9.1
go: added github.com/caddyserver/certmagic v0.21.6
go: added github.com/caddyserver/zerossl v0.1.3
go: added github.com/cespare/xxhash/v2 v2.3.0
go: added github.com/francoispqt/gojay v1.2.13
go: added github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
go: added github.com/google/pprof v0.0.0-20231212022811-ec68065c825e
go: added github.com/google/uuid v1.6.0
go: added github.com/klauspost/cpuid/v2 v2.2.9
go: added github.com/libdns/libdns v0.2.2
go: added github.com/mholt/acmez/v3 v3.0.0
go: added github.com/miekg/dns v1.1.62
go: added github.com/onsi/ginkgo/v2 v2.13.2
go: added github.com/prometheus/client_golang v1.19.1
go: added github.com/prometheus/client_model v0.5.0
go: added github.com/prometheus/common v0.48.0
go: added github.com/prometheus/procfs v0.12.0
go: added github.com/quic-go/qpack v0.5.1
go: added github.com/quic-go/quic-go v0.48.2
go: added github.com/zeebo/blake3 v0.2.4
go: added go.uber.org/mock v0.4.0
go: added go.uber.org/multierr v1.11.0
go: added go.uber.org/zap v1.27.0
go: added go.uber.org/zap/exp v0.3.0
go: added golang.org/x/crypto v0.31.0
go: added golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
go: added golang.org/x/mod v0.18.0
go: added golang.org/x/net v0.33.0
go: added golang.org/x/sync v0.10.0
go: added golang.org/x/sys v0.28.0
go: added golang.org/x/term v0.27.0
go: added golang.org/x/text v0.21.0
go: added golang.org/x/time v0.7.0
go: added golang.org/x/tools v0.22.0
go: added google.golang.org/protobuf v1.35.1
2025/01/11 18:53:51 [INFO] exec (timeout=-2562047h47m16.854775808s): /home/joe/go/pkg/mod/golang.org/[email protected]/bin/go get -d -v github.com/infogulch/[email protected] github.com/caddyserver/caddy/v2 
go: -d flag is deprecated. -d=true is a no-op
go: github.com/infogulch/[email protected]: invalid version: unknown revision v0.2.3
2025/01/11 18:53:53 [FATAL] exit status 1

So maybe the issue is that if one module has a directory override, then it ignores version specifiers for other named modules?

@mohammed90
Copy link
Member

So maybe the issue is that if one module has a directory override, then it ignores version specifiers for other named modules?

Oh, ok, I see it now. When you had the local override, the next module was skipped for some reason. I'm thinking this is an unintentional bug, one of those infamous off-by-one error. Let's check it.

@mohammed90 mohammed90 reopened this Jan 12, 2025
@mohammed90 mohammed90 added bug Something isn't working good first issue Good for newcomers help wanted Extra attention is needed labels Jan 12, 2025
@infogulch
Copy link
Author

Thank you for your patience! FYI I also tried changing the order of the arguments but it didn't make any difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants