-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(core): cleanup and standarize workflows. (#1404)
**Motivation** Have standarized code across workflows **Description** - Merged all reports into `daily_reports` workflow - Fixed target pull request on `ci_gha` workflow - Added `cancel-in-progress` for the workflows that were missing
- Loading branch information
Showing
8 changed files
with
215 additions
and
230 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
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: | ||
run-hive: | ||
name: Run engine hive simulator to gather coverage information. | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
include: | ||
- name: "Rpc Compat tests" | ||
file_name: rpc-compat | ||
simulation: ethereum/rpc-compat | ||
- name: "Devp2p eth tests" | ||
file_name: devp2p | ||
simulation: devp2p | ||
- name: "Cancun Engine tests" | ||
file_name: engine | ||
simulation: ethereum/engine | ||
- name: "Sync tests" | ||
file_name: sync | ||
simulation: ethereum/sync | ||
|
||
steps: | ||
- name: Pull image | ||
run: | | ||
docker pull ghcr.io/lambdaclass/ethrex:latest | ||
docker tag ghcr.io/lambdaclass/ethrex:latest ethrex:latest | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Go | ||
uses: actions/setup-go@v5 | ||
|
||
- name: Setup Hive | ||
run: make setup-hive | ||
|
||
- name: Run Hive Simulation | ||
run: cd hive && ./hive --client ethrex --sim ${{ matrix.simulation }} --sim.parallelism 4 | ||
continue-on-error: true | ||
|
||
- name: Upload results | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ matrix.file_name }}_logs | ||
path: hive/workspace/logs/*-*.json | ||
|
||
hive-report: | ||
name: Generate report and upload to summary and slack | ||
needs: run-hive | ||
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: Download all results | ||
uses: actions/download-artifact@v4 | ||
with: | ||
path: hive/workspace/logs | ||
pattern: "*_logs" | ||
merge-multiple: true | ||
|
||
- name: Caching | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Generate the hive report | ||
run: cargo run -p hive_report > results.md | ||
|
||
- name: Post results in summary | ||
run: | | ||
echo "# Hive coverage report" >> $GITHUB_STEP_SUMMARY | ||
cat results.md >> $GITHUB_STEP_SUMMARY | ||
- name: Post results to ethrex L1 slack channel | ||
env: | ||
url: ${{ secrets.ETHREX_L1_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish.sh | ||
|
||
- name: Post results to ethrex L2 slack channel | ||
env: | ||
url: ${{ secrets.ETHREX_L2_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish.sh | ||
|
||
- name: Post results to levm slack channel | ||
env: | ||
url: ${{ secrets.LEVM_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish.sh | ||
|
||
loc: | ||
name: Count ethrex loc and generate report | ||
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: Add Rust Cache | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Restore cache | ||
id: cache-loc-report | ||
uses: actions/cache@v4 | ||
with: | ||
path: 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 == 'true' | ||
run: mv loc_report.json loc_report.json.old | ||
|
||
- name: Generate the loc report | ||
run: | | ||
make loc | ||
- name: Save new loc_report.json to cache | ||
if: success() | ||
uses: actions/cache@v4 | ||
with: | ||
path: 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 loc_report_github.txt >> $GITHUB_STEP_SUMMARY | ||
- name: Post results to ethrex L1 slack channel | ||
env: | ||
url: ${{ secrets.ETHREX_L1_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish_loc.sh | ||
|
||
- name: Post results to ethrex L2 slack channel | ||
env: | ||
url: ${{ secrets.ETHREX_L2_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish_loc.sh | ||
|
||
- name: Post results to levm slack channel | ||
env: | ||
url: ${{ secrets.LEVM_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish_loc.sh | ||
|
||
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 | ||
- name: Post results in summary | ||
run: | | ||
echo "# Daily LEVM EF Tests Run Report" >> $GITHUB_STEP_SUMMARY | ||
cat cmd/ef_tests/levm/levm_ef_tests_summary_github.txt >> $GITHUB_STEP_SUMMARY | ||
- name: Post results to ethrex L2 slack channel | ||
env: | ||
url: ${{ secrets.ETHREX_L2_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish_levm_ef_tests_summary.sh | ||
|
||
- name: Post results to levm slack channel | ||
env: | ||
url: ${{ secrets.LEVM_SLACK_WEBHOOK }} | ||
run: sh .github/scripts/publish_levm_ef_tests_summary.sh |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.