mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 14:02:55 +00:00
We found that exporting GH Workflow Runs in batch is more efficient due to - better utilisation of Github API - and gh runners usage is rounded to minutes, so even when ad-hoc export is done in 5-10 seconds, we billed for one minute usage So now we introduce batch exporting, with version v0.2.x of github workflow stats exporter. How it's expected to work now: - every 15 minutes we query for the workflow runs, created in last 2 hours - to avoid missing workflows that ran for more than 2 hours, every night (00:25) we will query workflows created in past 24 hours and export them as well - should we have query for even longer periods? - lets see how it works with current schedule - for longer periods like for days or weeks, it may require to adjust logic and concurrency of querying data, so lets for now use simpler version
30 lines
901 B
YAML
30 lines
901 B
YAML
name: Report Workflow Stats Batch
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '*/15 * * * *'
|
|
- cron: '25 0 * * *'
|
|
|
|
jobs:
|
|
gh-workflow-stats-batch:
|
|
name: GitHub Workflow Stats Batch
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
actions: read
|
|
steps:
|
|
- name: Export Workflow Run for the past 2 hours
|
|
uses: neondatabase/gh-workflow-stats-action@v0.2.1
|
|
with:
|
|
db_uri: ${{ secrets.GH_REPORT_STATS_DB_RW_CONNSTR }}
|
|
db_table: "gh_workflow_stats_batch_neon"
|
|
gh_token: ${{ secrets.GITHUB_TOKEN }}
|
|
duration: '2h'
|
|
- name: Export Workflow Run for the past 24 hours
|
|
if: github.event.schedule == '25 0 * * *'
|
|
uses: neondatabase/gh-workflow-stats-action@v0.2.1
|
|
with:
|
|
db_uri: ${{ secrets.GH_REPORT_STATS_DB_RW_CONNSTR }}
|
|
db_table: "gh_workflow_stats_batch_neon"
|
|
gh_token: ${{ secrets.GITHUB_TOKEN }}
|
|
duration: '24h'
|