Skip to content

Daily Lines of Code Report #140

Daily Lines of Code Report

Daily Lines of Code Report #140

Workflow file for this run

name: Daily Lines of Code Report
on:
schedule:
# Every day at UTC midnight
- cron: "0 0 * * 1,2,3,4,5"
workflow_dispatch:
jobs:
loc:
name: Count ethrex loc and generate report
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Rust Environment
uses: ./.github/actions/setup-rust
- name: Restore cache
id: cache-loc-report
uses: actions/cache@v4
with:
path: tooling/loc/loc_report.json
key: loc-report-${{ github.ref_name }}
restore-keys: |
loc-report-
- name: Rename cached loc_report.json to loc_report.json.old
if: steps.cache-loc-report.outputs.cache-hit != ''
run: mv tooling/loc/loc_report.json tooling/loc/loc_report.json.old
- name: Generate the loc report
run: |
cd tooling/loc && make loc
- name: Save new loc_report.json to cache
if: success()
uses: actions/cache@v4
with:
path: tooling/loc/loc_report.json
key: loc-report-${{ github.ref_name }}
- name: Post results in summary
run: |
echo "# 'ethrex' lines of code report" >> $GITHUB_STEP_SUMMARY
cat tooling/loc/loc_report_github.txt >> $GITHUB_STEP_SUMMARY
- name: Post results to Slack
env:
SLACK_WEBHOOKS: >
${{ github.event_name == 'workflow_dispatch'
&& secrets.TEST_CHANNEL_SLACK
|| format(
'{0} {1}',
secrets.ETHREX_L1_SLACK_WEBHOOK,
secrets.ETHREX_L2_SLACK_WEBHOOK
)
}}
run: |
for webhook in $SLACK_WEBHOOKS; do
sh .github/scripts/publish_loc.sh "$webhook"
done