feat: Add CLI arguments, modular refactor, and test reorganization#19
Merged
feat: Add CLI arguments, modular refactor, and test reorganization#19
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
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.