1+ name : Fetch and Log Workflow Runs
2+
3+ on :
4+ # schedule:
5+ # - cron: "0 */1 * * *"
6+ workflow_dispatch :
7+
8+ jobs :
9+ fetch-workflows :
10+ runs-on : ubuntu-latest
11+ outputs :
12+ workflow_ids : ${{ steps.fetch-ids.outputs.workflow_ids }}
13+
14+ steps :
15+ - name : Fetch Workflow IDs from Last X Hours
16+ id : fetch-ids
17+ run : |
18+ HOURS=1
19+ WORKFLOW_IDS=$(gh run list --repo $GITHUB_REPOSITORY --limit 100 --json databaseId,status,createdAt --jq '[.[] | select(.createdAt > (now - (1 * 3600))) | .databaseId] | @json')
20+ LAST_RUN_ID=$(echo $WORKFLOW_IDS | jq '.[-1]')
21+
22+
23+ echo "last_run_id=$LAST_RUN_ID" >> $GITHUB_ENV
24+ echo "workflow_ids=$WORKFLOW_IDS" >> $GITHUB_OUTPUT
25+
26+ env :
27+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
28+
29+ process-logs :
30+ needs : fetch-workflows
31+ runs-on : ubuntu-latest
32+ # strategy:
33+ # matrix:
34+ # run_id: ${{ fromJson(needs.fetch-workflows.outputs.workflow_ids || '[]') }}
35+ steps :
36+ # - run:
37+ # echo ${{ matrix.run_id }}
38+ - run : |
39+ echo "processing logs...."
40+ echo "-----------------"
41+ echo ${{ needs.fetch-workflows.outputs.workflow_ids }}
42+ echo "-----------------"
43+ echo ${{ fromJson(needs.fetch-workflows.outputs.workflow_ids || '[]') }}
44+ echo "-----------------"
45+
46+ # process-logs:
47+ # needs: fetch-workflows
48+ # runs-on: ubuntu-latest
49+ # strategy:
50+ # matrix:
51+ # run_id: ${{ fromJson(needs.fetch-workflows.outputs.workflow_ids) }}
52+
53+ # steps:
54+ # - name: Send Workflow Logs to Splunk
55+ # uses: ykoer/github-workflow-splunk-logger@dev
56+ # with:
57+ # github_token: ${{ secrets.GITHUB_TOKEN }}
58+ # splunk_url: ${{ vars.HEC_URL }}
59+ # splunk_token: ${{ secrets.HEC_TOKEN }}
60+ # run_id: ${{ matrix.run_id }}
0 commit comments