Please only report specific issues with flyctl behavior. Anything like a support request for your application should go to https://community.fly.io. More people watch that space and can help you faster!
Our builds on darwin are failing due to an issue with how flyctl initialized the sentry-go SDK. This results in a panic within sentry-go that is triggered in TestCommand_Execute in deploy_test.go.
By initializing the sentry.HTTPSyncTransport struct directly, the ratelimit.Map under HTTPSyncTransport.limits (non-exported) receives a nil zero-value.
When the test above is run, it results in a panic within sentry-go's ratelimit.Map.Merge:
go test -tags=production -ldflags "-s -w -X github.com/superfly/flyctl/internal/buildinfo.buildDate=1970-01-01T00:00:00Z -X github.com/superfly/flyctl/internal/buildinfo.buildVersion=0.2.71" -v ./internal/command/deploy/deploy_test.go
This failure is accompanied by the warning WARN failed to create build in graphql: app not found: "test-basic", so my best guess is that with the tags set to production, flyctl attempts to send this to Sentry, which triggers the failure. As the init code returns nil events for non-production environments, it isn't triggered in fly's own test runs, which do not set the production tag.
However, in nixpkgs, the tags we set on the binary compilation propagate through to the tests as well, which then trigger this.
Please only report specific issues with
flyctl
behavior. Anything like a support request for your application should go to https://community.fly.io. More people watch that space and can help you faster!Describe the bug
I maintain the flyctl package in nixpkgs.
Our builds on darwin are failing due to an issue with how flyctl initialized the sentry-go SDK. This results in a panic within sentry-go that is triggered in
TestCommand_Execute
in deploy_test.go.Specifically, flyctl initializes the sentry-go SDK as follows:
By initializing the
sentry.HTTPSyncTransport
struct directly, theratelimit.Map
underHTTPSyncTransport.limits
(non-exported) receives a nil zero-value.When the test above is run, it results in a panic within sentry-go's
ratelimit.Map.Merge
:Stacktrace
An issue for the merge function has been filed upstream https://github.com/getsentry/sentry-go/issues/841.
This failure is accompanied by the warning
WARN failed to create build in graphql: app not found: "test-basic"
, so my best guess is that with the tags set to production, flyctl attempts to send this to Sentry, which triggers the failure. As the init code returns nil events for non-production environments, it isn't triggered in fly's own test runs, which do not set the production tag.However, in nixpkgs, the tags we set on the binary compilation propagate through to the tests as well, which then trigger this.
fly version
- 0.2.71