Skip to content
Latchkey

Repository Traffic to PostHog workflow (eidolon-ai/eidolon)

The Repository Traffic to PostHog workflow from eidolon-ai/eidolon, explained and optimized by Latchkey.

A

CI health: A - excellent

Point runs-on at Latchkey and get job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: eidolon-ai/eidolon.github/workflows/push_to_posthog.ymlLicense Apache-2.0View source

What it does

This is the Repository Traffic to PostHog workflow from the eidolon-ai/eidolon repository, a real project running GitHub Actions. It is shown here with attribution under its Apache-2.0 license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: Repository Traffic to PostHog

on:
  schedule:
    - cron: '0 * * * *'  # Run daily at midnight
  workflow_dispatch:

jobs:
  push_to_posthog:
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GH_PAT }}
      - name: Install poetry
        run: pipx install poetry
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
          cache: 'poetry'
      - run: poetry install
        working-directory: scripts
      - run: poetry run push_pypi_downloads  --package eidolon-ai-sdk --api-key ${{ secrets.POSTHOG_API_KEY }} --project-key ${{ secrets.POSTHOG_PROJECT_KEY }}
        working-directory: scripts
      - run: |
          chmod +x bin/push_github.sh
          bin/push_github.sh eidolon-ai/eidolon ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/agent-machine ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/eidolon-quickstart ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/eidolon-git-search ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/web-researcher ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
        working-directory: scripts

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: Repository Traffic to PostHog
 
on:
  schedule:
    - cron: '0 * * * *'  # Run daily at midnight
  workflow_dispatch:
 
jobs:
  push_to_posthog:
    timeout-minutes: 30
    runs-on: latchkey-small
    permissions:
      contents: write
 
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GH_PAT }}
      - name: Install poetry
        run: pipx install poetry
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
          cache: 'poetry'
      - run: poetry install
        working-directory: scripts
      - run: poetry run push_pypi_downloads  --package eidolon-ai-sdk --api-key ${{ secrets.POSTHOG_API_KEY }} --project-key ${{ secrets.POSTHOG_PROJECT_KEY }}
        working-directory: scripts
      - run: |
          chmod +x bin/push_github.sh
          bin/push_github.sh eidolon-ai/eidolon ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/agent-machine ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/eidolon-quickstart ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/eidolon-git-search ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
          bin/push_github.sh eidolon-ai/web-researcher ${{ secrets.GH_PAT }} ${{ secrets.POSTHOG_API_KEY }} ${{ secrets.POSTHOG_PROJECT_KEY }}
        working-directory: scripts
 

What changed

What Latchkey heals here

This workflow has steps that commonly fail on transient issues (network, registries, flaky browsers). On Latchkey managed runners they are detected, retried, and self-healed instead of failing your build:

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow