diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a2aae83..c5abe79 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,4 +44,5 @@ jobs: MACOS_SIGN_PASSWORD: ${{ secrets.MACOS_SIGN_PASSWORD }} MACOS_NOTARY_ISSUER_ID: ${{ secrets.MACOS_NOTARY_ISSUER_ID }} MACOS_NOTARY_KEY_ID: ${{ secrets.MACOS_NOTARY_KEY_ID }} - MACOS_NOTARY_KEY: ${{ secrets.MACOS_NOTARY_KEY }} \ No newline at end of file + MACOS_NOTARY_KEY: ${{ secrets.MACOS_NOTARY_KEY }} + POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} \ No newline at end of file diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index cc1db74..b74f631 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -42,3 +42,4 @@ jobs: MACOS_NOTARY_ISSUER_ID: ${{ secrets.MACOS_NOTARY_ISSUER_ID }} MACOS_NOTARY_KEY_ID: ${{ secrets.MACOS_NOTARY_KEY_ID }} MACOS_NOTARY_KEY: ${{ secrets.MACOS_NOTARY_KEY }} + POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} diff --git a/.goreleaser.yml b/.goreleaser.yml index d0d6e66..af51492 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -21,6 +21,7 @@ builds: - -X github.com/furisto/construct/frontend/cli/cmd.Version={{ .Version }} - -X github.com/furisto/construct/frontend/cli/cmd.GitCommit={{ .Commit }} - -X github.com/furisto/construct/frontend/cli/cmd.BuildDate={{ .Date }} + - -X github.com/furisto/construct/backend/analytics.PostHogAPIKey={{ .Env.POSTHOG_API_KEY }} hooks: post: - sh -c 'sha256sum {{ .Path }} | cut -d" " -f1 > {{ .Os }}_{{ .Arch }}_checksum.txt' diff --git a/backend/analytics/client.go b/backend/analytics/client.go index b81e466..f764872 100644 --- a/backend/analytics/client.go +++ b/backend/analytics/client.go @@ -4,6 +4,11 @@ import ( "github.com/posthog/posthog-go" ) +var ( + // PostHogAPIKey is the PostHog project API key + PostHogAPIKey = "" +) + type Event struct { DistinctId string Event string @@ -20,7 +25,7 @@ type PostHogClient struct { } func NewPostHogClient() (*PostHogClient, error) { - client, err := posthog.NewWithConfig("phc_YcYtQoT1FASKJ6PZBF61NeGibEcKkw1v6aEd4udQfND", posthog.Config{Endpoint: "https://eu.i.posthog.com"}) + client, err := posthog.NewWithConfig(PostHogAPIKey, posthog.Config{Endpoint: "https://eu.i.posthog.com"}) if err != nil { return nil, err } diff --git a/frontend/cli/cmd/daemon_run.go b/frontend/cli/cmd/daemon_run.go index 940df0a..540f374 100644 --- a/frontend/cli/cmd/daemon_run.go +++ b/frontend/cli/cmd/daemon_run.go @@ -88,9 +88,11 @@ debugging and development. For normal use, 'construct daemon install' is recomme } } - analytics, err := analytics.NewPostHogClient() + var analyticsClient analytics.Client + analyticsClient, err = analytics.NewPostHogClient() if err != nil { - return fmt.Errorf("failed to create analytics client: %w", err) + slog.Error("failed to create analytics client", "error", err) + analyticsClient = analytics.NewNoopClient() } runtime, err := agent.NewRuntime( @@ -108,7 +110,7 @@ debugging and development. For normal use, 'construct daemon install' is recomme // codeact.NewSubmitReportTool(), codeact.NewPrintTool(), ), - agent.WithAnalytics(analytics), + agent.WithAnalytics(analyticsClient), ) if err != nil {