name: heartbeat # Time's clock: hourly, and right away when a card gets the `ready` label (dry-run until TIME_MODE=live). on: schedule: - cron: "7 * * * *" workflow_dispatch: issues: types: [labeled] permissions: contents: read issues: write pull-requests: write concurrency: group: heartbeat cancel-in-progress: false jobs: tick: if: github.event_name != 'issues' || github.event.label.name == 'ready' runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v5 with: sparse-checkout: .github/time - run: python3 .github/time/time.py heartbeat env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }} VENICE_API_KEY: ${{ secrets.VENICE_API_KEY }} TIME_MODE: ${{ vars.TIME_MODE }} TIME_DAILY_CAP: ${{ vars.TIME_DAILY_CAP }} TIME_CURSOR_MODEL: ${{ vars.TIME_CURSOR_MODEL }} TIME_REVIEW: ${{ vars.TIME_REVIEW }} TIME_STUCK_HOURS: ${{ vars.TIME_STUCK_HOURS }}