Add dry run option to custom benchmark report script and update workflow to use it

This commit is contained in:
Palash Tyagi 2025-05-11 01:40:25 +01:00
parent 643c897479
commit e3f4749709
2 changed files with 22 additions and 2 deletions

View File

@ -346,6 +346,11 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Load Criterion benchmark results from JSON files and generate an HTML table with links to reports." description="Load Criterion benchmark results from JSON files and generate an HTML table with links to reports."
) )
parser.add_argument(
"--dry-run",
action="store_true",
help="Perform a dry run without writing the HTML file.",
)
parser.add_argument( parser.add_argument(
"--criterion-dir", "--criterion-dir",
type=str, type=str,
@ -372,6 +377,12 @@ if __name__ == "__main__":
args = parser.parse_args() args = parser.parse_args()
if args.dry_run:
print(
"Dry run mode: No files will be written. Use --dry-run to skip writing the HTML file."
)
sys.exit(0)
criterion_path = Path(args.criterion_dir) criterion_path = Path(args.criterion_dir)
output_file_path = Path(args.output_file) output_file_path = Path(args.output_file)

View File

@ -33,6 +33,16 @@ jobs:
with: with:
toolchain: stable toolchain: stable
- name: Install Python
uses: actions/setup-python@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Setup venv
run: |
uv venv
uv pip install pandas
uv run .github/scripts/custom_benchmark_report.py --dry-run
- name: Run benchmarks - name: Run benchmarks
run: cargo bench --features bench run: cargo bench --features bench
@ -44,8 +54,7 @@ jobs:
echo "No benchmark reports found, skipping custom report generation." echo "No benchmark reports found, skipping custom report generation."
exit 1 exit 1
fi fi
pip3 install pandas uv run .github/scripts/custom_benchmark_report.py
python3 .github/scripts/custom_benchmark_report.py
- name: Upload benchmark reports - name: Upload benchmark reports
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4