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(
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(
"--criterion-dir",
type=str,
@ -372,6 +377,12 @@ if __name__ == "__main__":
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)
output_file_path = Path(args.output_file)

View File

@ -33,6 +33,16 @@ jobs:
with:
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
run: cargo bench --features bench
@ -44,8 +54,7 @@ jobs:
echo "No benchmark reports found, skipping custom report generation."
exit 1
fi
pip3 install pandas
python3 .github/scripts/custom_benchmark_report.py
uv run .github/scripts/custom_benchmark_report.py
- name: Upload benchmark reports
uses: actions/upload-artifact@v4