# This config is automatically deployed by cloudbuild/deploy_cron_jobs.sh.
#
# To manually deploy this config, run:
#   gcloud app deploy --project flutter-dashboard cron.yaml
cron:
- description: retrieve missing commits
  url: /api/vacuum-github-commits
  schedule: every 1 hours

- description: backfills builds
  url: /api/scheduler/batch-backfiller
  schedule: every 5 minutes

- description: sends build status to GitHub to annotate flutter PRs and commits
  url: /api/push-build-status-to-github?repo=flutter/flutter
  schedule: every 1 minutes

- description: sends pr-specific gold status to GitHub to annotate flutter and engine PRs and commits
  url: /api/push-gold-status-to-github
  schedule: every 5 minutes

- description: sends build status to GitHub to annotate engine PRs and commits
  url: /api/push-build-status-to-github?repo=flutter/engine
  schedule: every 2 minutes

- description: check for mergeable commits waiting for the tree to go green
  url: /api/check-waiting-pull-requests
  schedule: every 5 minutes

- description: push github rate limit history to bigquery
  url: /api/public/github-rate-limit-status
  schedule: every 1 minutes

- description: detect and flag tests with high flaky rates
  url: /api/file_flaky_issue_and_pr?threshold=0.02
  schedule: every wednesday 16:00

- description: update existing flake issues with latest statistics
  url: /api/update_existing_flaky_issues?threshold=0.02
  schedule: every wednesday 16:10

- description: check flaky builders to either deflake the builder or file a new flaky bug
  url: /api/check_flaky_builders
  schedule: every wednesday 16:20

- description: update branches to reflect most recent commit activity
  url: '/api/update-branches'
  schedule: every wednesday 19:00

- description: check pull request in auto submit bot
  url: /check-pull-request
  target: auto-submit
  schedule: every 1 minutes
