Daily Reports #162
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Daily Reports | |
on: | |
schedule: | |
# Every day at UTC midnight | |
- cron: "0 0 * * 1,2,3,4,5" | |
workflow_dispatch: | |
env: | |
RUST_VERSION: 1.81.0 | |
jobs: | |
hive-report-creation-levm: | |
uses: ./.github/workflows/common_hive_reports.yaml | |
with: | |
evm: levm | |
job_type: daily | |
hive-report-creation-revm: | |
uses: ./.github/workflows/common_hive_reports.yaml | |
with: | |
evm: revm | |
job_type: daily | |
hive-diff-report: | |
name: Post tests diff to levm slack | |
needs: [hive-report-creation-levm, hive-report-creation-revm] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Download results (levm) | |
uses: actions/download-artifact@v4 | |
with: | |
name: results_levm_daily.md | |
- name: Rename result (1) | |
run: cp results.md results_levm.md | |
- name: Download results (revm) | |
uses: actions/download-artifact@v4 | |
with: | |
name: results_revm_daily.md | |
- name: Rename result (2) | |
run: cp results.md results_revm.md | |
- name: Create diff message | |
run: | | |
bash .github/scripts/hive_levm_revm_diff.sh results_revm.md results_levm.md >> diff.md | |
cat diff.md >> $GITHUB_STEP_SUMMARY | |
- name: Post results to Slack | |
env: | |
SLACK_WEBHOOKS: > | |
${{ github.event_name == 'workflow_dispatch' | |
&& secrets.TEST_CHANNEL_SLACK | |
|| format( | |
'{0} {1} {2}', | |
secrets.ETHREX_L1_SLACK_WEBHOOK, | |
secrets.ETHREX_L2_SLACK_WEBHOOK, | |
secrets.LEVM_SLACK_WEBHOOK | |
) | |
}} | |
run: | | |
for webhook in $SLACK_WEBHOOKS; do | |
sh .github/scripts/publish_levm_hive.sh "$webhook" | |
sh .github/scripts/publish_hive.sh "$webhook" | |
done | |
echo "Sending Results" >> $GITHUB_STEP_SUMMARY | |
- name: Post results diff to Slack | |
env: | |
SLACK_WEBHOOK: > | |
${{ github.event_name == 'workflow_dispatch' | |
&& secrets.TEST_CHANNEL_SLACK | |
|| secrets.LEVM_SLACK_WEBHOOK | |
}} | |
# Only send diff message if the diff has changed | |
run: | | |
if grep -q "No differences found" diff.md; then | |
echo "No differences to post" >> $GITHUB_STEP_SUMMARY | |
else | |
sh .github/scripts/publish_vms_diff.sh $SLACK_WEBHOOK | |
echo "Sending Results" >> $GITHUB_STEP_SUMMARY | |
fi | |
levm-test: | |
name: Generate Report for LEVM EF Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Rustup toolchain install | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.RUST_VERSION }} | |
- name: Caching | |
uses: Swatinem/rust-cache@v2 | |
- name: Download EF Tests | |
run: | | |
cd crates/vm/levm | |
make download-evm-ef-tests | |
- name: Run tests | |
run: | | |
cd crates/vm/levm | |
make generate-evm-ef-tests-report | tee test_result.txt | |
- name: Post results in summary | |
run: | | |
cd crates/vm/levm | |
echo "# Daily LEVM EF Tests Run Report" >> $GITHUB_STEP_SUMMARY | |
cat test_result.txt >> $GITHUB_STEP_SUMMARY | |
- name: Check EF-TESTS status is 100% | |
id: check_tests | |
continue-on-error: true | |
run: | | |
cd crates/vm/levm | |
if [ "$(awk '/**Summary**:/ {print $(NF)}' test_result.txt)" != "(100.00%)" ]; then | |
echo "Percentage is not 100%." | |
exit 1 | |
fi | |
- name: Post results to Slack | |
if: ${{steps.check_tests.outcome == 'failure'}} | |
env: | |
SLACK_WEBHOOK: > | |
${{ github.event_name == 'workflow_dispatch' | |
&& secrets.TEST_CHANNEL_SLACK | |
|| secrets.LEVM_SLACK_WEBHOOK | |
}} | |
run: sh .github/scripts/publish_levm_ef_tests.sh "$SLACK_WEBHOOK" | |
flamegraphs-page: | |
name: Post to Slack link to Flamegraphs Page | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Post message to slack | |
env: | |
SLACK_WEBHOOKS: > | |
${{ github.event_name == 'workflow_dispatch' | |
&& secrets.TEST_CHANNEL_SLACK | |
|| format( | |
'{0} {1} {2}', | |
secrets.ETHREX_L1_SLACK_WEBHOOK, | |
secrets.ETHREX_L2_SLACK_WEBHOOK, | |
secrets.LEVM_SLACK_WEBHOOK | |
) | |
}} | |
run: | | |
for webhook in $SLACK_WEBHOOKS; do | |
sh .github/scripts/publish_link_flamegraphs.sh "$webhook" | |
done |