-
Notifications
You must be signed in to change notification settings - Fork 4
feat: Add CLI arguments, modular refactor, and test reorganization #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Overview
Labels (3 changes)
-org.opencontainers.image.created=2026-01-12T06:24:34.023Z
+org.opencontainers.image.created=2026-01-14T12:28:09.167Z
org.opencontainers.image.description=A disk benchmarking tool for Docker
org.opencontainers.image.licenses=Apache-2.0
-org.opencontainers.image.revision=
+org.opencontainers.image.revision=0aff088040230dd4f09e41395da8fe0c7708fa63
org.opencontainers.image.source=https://github.com/e7db/docker-diskmark
org.opencontainers.image.title=docker-diskmark
org.opencontainers.image.url=https://github.com/e7db/docker-diskmark
-org.opencontainers.image.version=latest
+org.opencontainers.image.version=pr-19 |
d04d476 to
fedaa44
Compare
fedaa44 to
e5ea61e
Compare
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
e5ea61e to
5be98e7
Compare
2c367ec to
356e15d
Compare
3213cf0 to
3fc26a3
Compare
46a13a4 to
abb4d0d
Compare
…ecurity scanning - Add CLI support with short/long options (-s/--size, -p/--profile, etc.) - Split diskmark.sh into lib/ modules (args, validate, utils, profiles, detect, benchmark, output, update) - Reorganize tests into 6 concurrent jobs with optimized timing (100ms/500ms) - Integrate Trivy and Grype security scanning into docker-image.yml workflow
abb4d0d to
d5b43c4
Compare
Summary
This PR introduces full CLI argument support, refactors the monolithic
diskmark.shinto a clean modular architecture, and reorganizes the test workflow for better structure and concurrency.Changes
🎯 CLI Argument Support
The container now supports command-line arguments in multiple formats:
Long options with space:
Long options with equals sign:
Short options:
New options added:
-h, --help- Show comprehensive help message-v, --version- Show version information🏗️ Modular Refactoring
Refactored the ~800 line monolithic script into 8 focused modules:
diskmark.shlib/args.shlib/utils.shlib/validate.shlib/benchmark.shlib/output.shlib/detect.shlib/profiles.shlib/update.sh🧪 Test Reorganization
Reorganized the test workflow into 6 concurrent jobs for faster execution:
validation-envvalidation-clibenchmark-profilesbenchmark-paramsbenchmark-formatsbenchmark-edgeOptimizations:
RUNTIME=100msinstead of1s(~3x faster)RUNTIME=500msfor full profile coverage"<PARAM>: <description>"📦 Semver-based Versioning
Implemented semantic versioning using
git describe:1.2.01.2.0-dev.5+a1b2c3d0.0.0-dev+a1b2c3d📝 Documentation Updates
.github/copilot-instructions.mdwith clean code principles🐳 Docker Updates
lib/to/usr/lib/diskmark/docker-image.ymlworkflow with semver version detectionClean Code Improvements
validate_*,parse_*,output_*)Breaking Changes
None. All existing environment variable configurations continue to work. CLI arguments are purely additive.