diff --git a/.github/workflows/update-sample-data.yml b/.github/workflows/update-sample-data.yml index 8164ec51803..4b174f1211b 100644 --- a/.github/workflows/update-sample-data.yml +++ b/.github/workflows/update-sample-data.yml @@ -20,9 +20,9 @@ jobs: with: ref: ${{ github.ref_name || 'dev'}} - - name: Run binary + - name: Run updater run: | - ./fixture-updater dojo/fixtures/defect_dojo_sample_data.json + scripts/fixture-updater.py dojo/fixtures/defect_dojo_sample_data.json mv output.json dojo/fixtures/defect_dojo_sample_data.json - name: Configure git diff --git a/fixture-updater b/fixture-updater deleted file mode 100755 index fb9e80f7e14..00000000000 Binary files a/fixture-updater and /dev/null differ diff --git a/scripts/fixture-updater.py b/scripts/fixture-updater.py new file mode 100755 index 00000000000..2ced0941c41 --- /dev/null +++ b/scripts/fixture-updater.py @@ -0,0 +1,278 @@ +#!/usr/bin/env python3 + +import argparse +import json +import logging +import re +from collections.abc import Generator +from dataclasses import dataclass +from datetime import UTC, datetime, timedelta +from pathlib import Path +from time import perf_counter +from typing import Any + +DATETIME_FIELD_PATTERN = re.compile( + r"^(?P\d{4}-\d{2}-\d{2})T" + r"(?P