From 513a8be9ce6ad2cdbc2934fcb67b2337deeb4959 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 17:52:11 +0300 Subject: [PATCH 01/14] ci: send analytics to posthog --- .github/workflows/analytics.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index cc429ee7..5611dee6 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -15,4 +15,4 @@ jobs: curl -s -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ "https://api.github.com/search/code?q=@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol+in:file" \ - | jq -r '.items[].repository.html_url' | sort -u + | jq -r '.items[].repository.html_url' | sort -u && echo "Done" From 0d97d820bddef088e34a77e637e5011ca4eaac55 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 17:59:55 +0300 Subject: [PATCH 02/14] posthog --- .github/workflows/analytics.yaml | 36 +++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 5611dee6..f806e8e9 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -10,9 +10,39 @@ jobs: count-contracts: runs-on: ubuntu-latest steps: - - name: Run curl and list repos + - name: Count repos using GitHub Code Search + id: count run: | - curl -s -H "Accept: application/vnd.github+json" \ + COUNT=$(curl -s -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ "https://api.github.com/search/code?q=@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol+in:file" \ - | jq -r '.items[].repository.html_url' | sort -u && echo "Done" + | jq -r '.items[].repository.html_url' | sort -u | wc -l) + echo "Repositories using GatewayZEVM.sol: $COUNT" + echo "count=$COUNT" >> "$GITHUB_OUTPUT" + + - name: Send count to PostHog + if: ${{ success() && steps.count.outputs.count != '' }} + env: + POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} + POSTHOG_HOST: ${{ vars.POSTHOG_HOST }} + run: | + if [ -z "$POSTHOG_API_KEY" ]; then + echo "POSTHOG_API_KEY is not set; skipping PostHog capture." >&2 + exit 0 + fi + + HOST="${POSTHOG_HOST:-https://us.i.posthog.com}" + COUNT="${{ steps.count.outputs.count }}" + + # Build JSON with jq to ensure valid formatting and numeric count + jq -n \ + --arg api_key "$POSTHOG_API_KEY" \ + --arg event "universal_contracts.count_contracts" \ + --arg distinct_id "github_actions/${{ github.repository }}" \ + --arg repo "${{ github.repository }}" \ + --arg workflow "${{ github.workflow }}" \ + --arg run_id "${{ github.run_id }}" \ + --arg sha "${{ github.sha }}" \ + --argjson count "$COUNT" \ + '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count, repository:$repo, workflow:$workflow, run_id:$run_id, sha:$sha}}' \ + | curl -s -f -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @- From 798154c82d0c27ef5651bc5a4c5933a3ffae304c Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:04:14 +0300 Subject: [PATCH 03/14] debug --- .github/workflows/analytics.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index f806e8e9..d4e51ee2 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -45,4 +45,14 @@ jobs: --arg sha "${{ github.sha }}" \ --argjson count "$COUNT" \ '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count, repository:$repo, workflow:$workflow, run_id:$run_id, sha:$sha}}' \ - | curl -s -f -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @- + > payload.json + + # Post to PostHog; capture status and body without failing the job + HTTP_CODE=$(curl -sS -o response.json -w "%{http_code}" -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @payload.json) + if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then + echo "PostHog capture succeeded ($HTTP_CODE)." + else + echo "PostHog capture returned HTTP $HTTP_CODE; not failing the job." >&2 + echo "Response body:" >&2 + cat response.json >&2 || true + fi From 902b3d372eacaf1b6172562b09745927bf848134 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:10:33 +0300 Subject: [PATCH 04/14] revert --- .github/workflows/analytics.yaml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index d4e51ee2..cb164230 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -24,6 +24,7 @@ jobs: if: ${{ success() && steps.count.outputs.count != '' }} env: POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} + # Optional: set org/repo Variable POSTHOG_HOST to override region (e.g. https://eu.i.posthog.com) POSTHOG_HOST: ${{ vars.POSTHOG_HOST }} run: | if [ -z "$POSTHOG_API_KEY" ]; then @@ -45,14 +46,4 @@ jobs: --arg sha "${{ github.sha }}" \ --argjson count "$COUNT" \ '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count, repository:$repo, workflow:$workflow, run_id:$run_id, sha:$sha}}' \ - > payload.json - - # Post to PostHog; capture status and body without failing the job - HTTP_CODE=$(curl -sS -o response.json -w "%{http_code}" -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @payload.json) - if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then - echo "PostHog capture succeeded ($HTTP_CODE)." - else - echo "PostHog capture returned HTTP $HTTP_CODE; not failing the job." >&2 - echo "Response body:" >&2 - cat response.json >&2 || true - fi + | curl -s -f -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @- From 25eea740a6f180768e56f467464c5458c03f4226 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:13:49 +0300 Subject: [PATCH 05/14] fix --- .github/workflows/analytics.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index cb164230..ae01b106 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -24,7 +24,6 @@ jobs: if: ${{ success() && steps.count.outputs.count != '' }} env: POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} - # Optional: set org/repo Variable POSTHOG_HOST to override region (e.g. https://eu.i.posthog.com) POSTHOG_HOST: ${{ vars.POSTHOG_HOST }} run: | if [ -z "$POSTHOG_API_KEY" ]; then @@ -38,12 +37,8 @@ jobs: # Build JSON with jq to ensure valid formatting and numeric count jq -n \ --arg api_key "$POSTHOG_API_KEY" \ - --arg event "universal_contracts.count_contracts" \ + --arg event "universal_contracts_count" \ --arg distinct_id "github_actions/${{ github.repository }}" \ - --arg repo "${{ github.repository }}" \ - --arg workflow "${{ github.workflow }}" \ - --arg run_id "${{ github.run_id }}" \ - --arg sha "${{ github.sha }}" \ --argjson count "$COUNT" \ '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count, repository:$repo, workflow:$workflow, run_id:$run_id, sha:$sha}}' \ | curl -s -f -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @- From c3a5c0f1bc320f07e959b5c6eb3495d262a8c283 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:14:50 +0300 Subject: [PATCH 06/14] fix --- .github/workflows/analytics.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index ae01b106..248ddd72 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -40,5 +40,5 @@ jobs: --arg event "universal_contracts_count" \ --arg distinct_id "github_actions/${{ github.repository }}" \ --argjson count "$COUNT" \ - '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count, repository:$repo, workflow:$workflow, run_id:$run_id, sha:$sha}}' \ + '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count}}' \ | curl -s -f -X POST "$HOST/i/v0/e/" -H "Content-Type: application/json" --data-binary @- From 80f4c2c3bc713aaef060f75983e315868e9eb35f Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:26:14 +0300 Subject: [PATCH 07/14] nightly --- .github/workflows/analytics.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 248ddd72..f6ed9880 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -1,6 +1,8 @@ name: Universal Contracts Analytics on: + schedule: + - cron: "0 0 * * *" # scheduled to run every day at midnight workflow_dispatch: permissions: From 0fb44c7192fb66e023e68a1fc6e03c6317868319 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:36:20 +0300 Subject: [PATCH 08/14] loop through pages --- .github/workflows/analytics.yaml | 40 ++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index f6ed9880..02843ceb 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -15,10 +15,42 @@ jobs: - name: Count repos using GitHub Code Search id: count run: | - COUNT=$(curl -s -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/search/code?q=@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol+in:file" \ - | jq -r '.items[].repository.html_url' | sort -u | wc -l) + set -euo pipefail + + # Build search query; include fork:false to exclude forks (remove if undesired) + QUERY='@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol in:file fork:false' + # URL-encode the query using jq + ENCODED_QUERY=$(jq -rn --arg q "$QUERY" '$q|@uri') + + PER_PAGE=100 + PAGE=1 + TMP=$(mktemp) + trap 'rm -f "$TMP"' EXIT + : > "$TMP" + + while :; do + RESP=$(curl -sS \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + "https://api.github.com/search/code?q=${ENCODED_QUERY}&per_page=${PER_PAGE}&page=${PAGE}") + + ITEMS_LEN=$(echo "$RESP" | jq '.items | length') + if [ -z "$ITEMS_LEN" ] || [ "$ITEMS_LEN" -eq 0 ]; then + break + fi + + echo "$RESP" | jq -r '.items[].repository.html_url' >> "$TMP" + + # Stop if this page returned fewer than PER_PAGE items + if [ "$ITEMS_LEN" -lt "$PER_PAGE" ]; then + break + fi + + PAGE=$((PAGE+1)) + done + + COUNT=$(sort -u "$TMP" | grep -c . || true) echo "Repositories using GatewayZEVM.sol: $COUNT" echo "count=$COUNT" >> "$GITHUB_OUTPUT" From 15a591384e61d79d975b8fbc1148c94e9d246854 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:39:31 +0300 Subject: [PATCH 09/14] fix --- .github/workflows/analytics.yaml | 67 +++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 02843ceb..8a388259 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -17,40 +17,63 @@ jobs: run: | set -euo pipefail - # Build search query; include fork:false to exclude forks (remove if undesired) - QUERY='@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol in:file fork:false' - # URL-encode the query using jq - ENCODED_QUERY=$(jq -rn --arg q "$QUERY" '$q|@uri') + # Base search query; looks for import occurrences + BASE_QUERY='@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol in:file' PER_PAGE=100 - PAGE=1 TMP=$(mktemp) trap 'rm -f "$TMP"' EXIT : > "$TMP" - while :; do - RESP=$(curl -sS \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/search/code?q=${ENCODED_QUERY}&per_page=${PER_PAGE}&page=${PAGE}") + fetch_repos() { + local query="$1" + local out="$2" + local page=1 + while :; do + local encoded + encoded=$(jq -rn --arg q "$query" '$q|@uri') + local resp + resp=$(curl -sS \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + "https://api.github.com/search/code?q=${encoded}&per_page=${PER_PAGE}&page=${page}") - ITEMS_LEN=$(echo "$RESP" | jq '.items | length') - if [ -z "$ITEMS_LEN" ] || [ "$ITEMS_LEN" -eq 0 ]; then - break - fi + # If the API returns an error with a message, surface it for debugging + local message + message=$(echo "$resp" | jq -r '.message // empty') + if [ -n "$message" ]; then + echo "GitHub API message: $message" >&2 + fi - echo "$RESP" | jq -r '.items[].repository.html_url' >> "$TMP" + local items_len + items_len=$(echo "$resp" | jq '(.items // []) | length') + if [ "$items_len" -eq 0 ]; then + break + fi - # Stop if this page returned fewer than PER_PAGE items - if [ "$ITEMS_LEN" -lt "$PER_PAGE" ]; then - break - fi + echo "$resp" | jq -r '.items[].repository.html_url' >> "$out" - PAGE=$((PAGE+1)) - done + # Stop if fewer than PER_PAGE items returned + if [ "$items_len" -lt "$PER_PAGE" ]; then + break + fi + page=$((page+1)) + done + } + + # Try excluding forks first + fetch_repos "$BASE_QUERY fork:false" "$TMP" COUNT=$(sort -u "$TMP" | grep -c . || true) + + # Fallback: include forks if excluding forks returns zero + if [ "$COUNT" -eq 0 ]; then + : > "$TMP" + fetch_repos "$BASE_QUERY" "$TMP" + COUNT=$(sort -u "$TMP" | grep -c . || true) + fi + echo "Repositories using GatewayZEVM.sol: $COUNT" echo "count=$COUNT" >> "$GITHUB_OUTPUT" From 41f96a162eea69ee34ae37e7b0f3f066b6e29689 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:41:34 +0300 Subject: [PATCH 10/14] fix --- .github/workflows/analytics.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 8a388259..0b4f49ac 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -17,8 +17,8 @@ jobs: run: | set -euo pipefail - # Base search query; looks for import occurrences - BASE_QUERY='@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol in:file' + # Base search query; quote the import path to avoid parse errors + BASE_QUERY='"@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol" in:file type:code' PER_PAGE=100 TMP=$(mktemp) From 0d7fabaa2b7ceff7ff12df2ed05aa2fabf3eac79 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:44:34 +0300 Subject: [PATCH 11/14] add echo --- .github/workflows/analytics.yaml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 0b4f49ac..d34fe60c 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -18,26 +18,32 @@ jobs: set -euo pipefail # Base search query; quote the import path to avoid parse errors - BASE_QUERY='"@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol" in:file type:code' + BASE_QUERY='"@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol" in:file' + echo "Base query: $BASE_QUERY" PER_PAGE=100 TMP=$(mktemp) trap 'rm -f "$TMP"' EXIT : > "$TMP" + echo "Using per_page=$PER_PAGE" + echo "Temp file: $TMP" fetch_repos() { local query="$1" local out="$2" local page=1 + echo "Fetching repos for query: $query" while :; do local encoded encoded=$(jq -rn --arg q "$query" '$q|@uri') local resp + local url="https://api.github.com/search/code?q=${encoded}&per_page=${PER_PAGE}&page=${page}" + echo "Requesting page ${page}: ${url}" resp=$(curl -sS \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/search/code?q=${encoded}&per_page=${PER_PAGE}&page=${page}") + "$url") # If the API returns an error with a message, surface it for debugging local message @@ -48,14 +54,20 @@ jobs: local items_len items_len=$(echo "$resp" | jq '(.items // []) | length') + echo "Items on page ${page}: ${items_len}" if [ "$items_len" -eq 0 ]; then + echo "No items returned; stopping pagination for this query." break fi echo "$resp" | jq -r '.items[].repository.html_url' >> "$out" + local page_repos + page_repos=$(echo "$resp" | jq -r '.items[].repository.html_url' | sort -u | wc -l | tr -d ' ') + echo "Collected ${page_repos} repo URLs from page ${page}." # Stop if fewer than PER_PAGE items returned if [ "$items_len" -lt "$PER_PAGE" ]; then + echo "Last page reached (items < per_page)." break fi @@ -64,16 +76,23 @@ jobs: } # Try excluding forks first + echo "First pass: excluding forks (fork:false)" fetch_repos "$BASE_QUERY fork:false" "$TMP" COUNT=$(sort -u "$TMP" | grep -c . || true) + echo "Unique repositories after first pass: $COUNT" # Fallback: include forks if excluding forks returns zero if [ "$COUNT" -eq 0 ]; then + echo "No results without forks; retrying including forks." : > "$TMP" fetch_repos "$BASE_QUERY" "$TMP" COUNT=$(sort -u "$TMP" | grep -c . || true) + echo "Unique repositories after including forks: $COUNT" fi + echo "Listing up to 50 unique repositories:" + sort -u "$TMP" | sed -n '1,50p' + echo "Repositories using GatewayZEVM.sol: $COUNT" echo "count=$COUNT" >> "$GITHUB_OUTPUT" From 9a129ae1c39a7ffdefe13140180b4be6c95afdd4 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:48:00 +0300 Subject: [PATCH 12/14] fix --- .github/workflows/analytics.yaml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index d34fe60c..6c4a71d3 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -75,23 +75,13 @@ jobs: done } - # Try excluding forks first - echo "First pass: excluding forks (fork:false)" + # Execute search (forks excluded) + echo "Executing search query (forks excluded)" fetch_repos "$BASE_QUERY fork:false" "$TMP" COUNT=$(sort -u "$TMP" | grep -c . || true) - echo "Unique repositories after first pass: $COUNT" - - # Fallback: include forks if excluding forks returns zero - if [ "$COUNT" -eq 0 ]; then - echo "No results without forks; retrying including forks." - : > "$TMP" - fetch_repos "$BASE_QUERY" "$TMP" - COUNT=$(sort -u "$TMP" | grep -c . || true) - echo "Unique repositories after including forks: $COUNT" - fi + echo "Unique repositories: $COUNT" - echo "Listing up to 50 unique repositories:" - sort -u "$TMP" | sed -n '1,50p' + sort -u "$TMP" echo "Repositories using GatewayZEVM.sol: $COUNT" echo "count=$COUNT" >> "$GITHUB_OUTPUT" From 8660e32cc2179a8e2a69a8d7a1e3c60d349a2dee Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Mon, 1 Sep 2025 18:51:54 +0300 Subject: [PATCH 13/14] fix --- .github/workflows/analytics.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 6c4a71d3..0e58909f 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -75,9 +75,9 @@ jobs: done } - # Execute search (forks excluded) - echo "Executing search query (forks excluded)" - fetch_repos "$BASE_QUERY fork:false" "$TMP" + # Execute search (including forks) + echo "Executing search query (including forks)" + fetch_repos "$BASE_QUERY" "$TMP" COUNT=$(sort -u "$TMP" | grep -c . || true) echo "Unique repositories: $COUNT" From 8784762d4bedec02ddd488155a8fe0081735a9c0 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 5 Sep 2025 15:24:03 +0300 Subject: [PATCH 14/14] update event title --- .github/workflows/analytics.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analytics.yaml b/.github/workflows/analytics.yaml index 0e58909f..2233140f 100644 --- a/.github/workflows/analytics.yaml +++ b/.github/workflows/analytics.yaml @@ -103,7 +103,7 @@ jobs: # Build JSON with jq to ensure valid formatting and numeric count jq -n \ --arg api_key "$POSTHOG_API_KEY" \ - --arg event "universal_contracts_count" \ + --arg event "Universal contract count" \ --arg distinct_id "github_actions/${{ github.repository }}" \ --argjson count "$COUNT" \ '{api_key:$api_key, event:$event, distinct_id:$distinct_id, properties:{count:$count}}' \