Skip to content

Feat/redesign#7

Draft
saiqulhaq wants to merge 29 commits into
mainfrom
feat/redesign
Draft

Feat/redesign#7
saiqulhaq wants to merge 29 commits into
mainfrom
feat/redesign

Conversation

@saiqulhaq

Copy link
Copy Markdown
Owner

No description provided.

Updates the CLI to use a single `exec` command for running arbitrary commands, simplifying the user interface.
This change includes removing the `init`, `update`, `provision`, `run`, and `ls` commands in favor of the `exec` command.
Also it updates documentation and example code to reflect the new command structure.
Allows users to specify a Ruby version for commands, creating isolated environments for each version.

This ensures gem compatibility and prevents conflicts when working with multiple Ruby versions.

Also, it introduces version-specific docker-compose files and bundle cache volumes.
@github-actions

github-actions Bot commented Oct 20, 2025

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
rubygems/byebug >= 0 🟢 5.4
Details
CheckScoreReason
Code-Review⚠️ 2Found 3/13 approved changesets -- score normalized to 2
Maintained🟢 1030 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
License🟢 10license file detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Vulnerabilities🟢 100 existing vulnerabilities detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
rubygems/fakefs >= 0 🟢 5.1
Details
CheckScoreReason
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Code-Review🟢 3Found 5/14 approved changesets -- score normalized to 3
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Maintained🟢 1025 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Vulnerabilities🟢 100 existing vulnerabilities detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
rubygems/semantic_logger >= 0 UnknownUnknown
rubygems/tty-prompt >= 0 🟢 3.8
Details
CheckScoreReason
Packaging⚠️ -1packaging workflow not detected
Code-Review⚠️ 0Found 0/30 approved changesets -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
SAST⚠️ 0no SAST tool detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
Vulnerabilities🟢 100 existing vulnerabilities detected
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md

Scanned Files

  • Gemfile
  • gemdock.gemspec

…improvements

- Introduced Validators module for centralized validation logic.
- Updated ConfigManager and StateManager to utilize new validation methods.
- Improved error handling with custom ValidationError class.
- Added comprehensive tests for validation logic.
- Added ContainerLifecycle class to manage the lifecycle of Docker containers.
- Implemented methods for starting, stopping, restarting, and removing containers.
- Integrated health checks to ensure containers are running correctly.
- Created DockerCommand class for executing Docker commands with error handling and logging.
- Added tests for ContainerLifecycle and DockerCommand to ensure functionality and reliability.
- Implemented caching for health checks to optimize performance.
- Enhanced logging for better traceability of operations.
…cker containers with health checks and logging
…rs tasks

- Created a new spec file for GemDock::ContainerInspector with comprehensive tests for container inspection, including various states (running, stopped, unhealthy, not provisioned) and resource checks.
- Updated tasks for persistent containers to include RSpec testing requirements for CLI commands and Docker Compose integration.
- Removed outdated task details and streamlined the task list for clarity and focus on implementation.
…ng, setting, and resetting configuration values
- Introduced `GemDock::ErrorHandler` module to manage error formatting and suggestions.
- Created a base `GemDock::Error` class with support for suggestions and detailed messages.
- Implemented specific error classes for various scenarios, including:
  - `ContainerNotFoundError`
  - `ContainerNotRunningError`
  - `DockerNotAvailableError`
  - `InvalidConfigError`
  - `ConfigKeyNotFoundError`
  - `InvalidRubyVersionError`
  - `UnsupportedRubyVersionError`
  - `MissingCommandError`
  - `MissingArgumentError`
  - `StateFileCorruptedError`
  - `ConfigFileCorruptedError`
  - `InsufficientResourcesError`
- Added detailed suggestions for each error type to guide users in resolving issues.
- Developed RSpec tests for error handling and custom error classes to ensure reliability and coverage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant