Add Unused Dependency Check for Ruby Gems
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
Piste de recherche
Start by reviewing the main CI workflow and the current Gemfile, then investigate whether degem works reliably and compare the suggested alternatives bundle-checker and gem-unused. Done means a stable dependency check is integrated, reports current unused gems, handles documented false positives, and fails CI when unused dependencies are detected.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
feat: Add Unused Dependency Check for Ruby Gems
Description:
To maintain a clean and efficient codebase, we need to add an automated process to the zitadel/client-ruby CI pipeline. The goal of this process is to detect and report any gems listed in the Gemfile that are no longer used in the project. The initial tool considered for this task was degem.
Problem:
The proposed tool, degem, does not appear to be functional in our current environment. Further investigation suggests the tool may be unmaintained, with its last commit several years ago. This makes it an unreliable choice for our CI pipeline, as it may have compatibility issues with modern Ruby versions and bundler.
Impact:
- Without an automated check, the project is at risk of accumulating unused dependencies over time.
- Unused gems lead to project bloat, slower
bundle installtimes, and an increased potential security surface. - The dependency tree is less clear, making maintenance more difficult for developers.
Tasks:
- Attempt a final investigation to determine if
degemcan be made to work reliably. - If
degemis not viable, research and evaluate alternative tools for detecting unused Ruby gems (e.g.,bundle-checker,gem-unused). - Select a reliable tool and integrate it into the CI pipeline as a new check.
- Run the tool on the codebase and generate an initial report of unused dependencies.
- Configure the tool to ignore any known false positives (e.g., gems used by frameworks or other tools but not directly required in the code).
- Create a follow-up pull request to remove the confirmed unused gems from the
Gemfile.
Expected Outcomes:
- The CI pipeline includes a job that automatically fails if it detects unused gems in the
Gemfile. - The project's dependencies are kept clean and minimal, improving maintainability and reducing bloat.
- Developers are immediately notified of unused dependencies when contributing code.
Additional Notes:
- The primary goal is to establish a reliable dependency check, not necessarily to use
degem. The chosen solution should be stable and actively maintained. - This task will likely require updating the main CI workflow file to add a new step for the dependency analysis.
- Langage dominant
- Ruby
- Étoiles
- 6
- Forks
- 2
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de zitadel/client-ruby
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
zitadel/client-ruby#87 ·
-
Release SDK for V5Peut-être pris @mridang l’a pris il y a 340 jours. Ouverte
zitadel/client-ruby#76 · 1 personne assignée ·
-
Fixed the messy auto-generated serde logic in the libraryPeut-être pris @mridang l’a pris il y a 549 jours. Ouverte
zitadel/client-ruby#29 · 1 personne assignée ·
-
Update Qodana Linter for Ruby SupportPeut-être pris @mridang l’a pris il y a 147 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
zitadel/client-ruby#27 ·
Toutes les issues de zitadel/client-ruby
Issues similaires
-
test_rescues_connection_reset_on_issue_comments_lookup fails on master and blocks every pull requestOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
zerocracy/judges-action#3142 ·
Les mainteneurs répondent en général sous 2 jours
-
Malformed encoded_filters causes a 500, and keeps failing with session persistencePeut-être pris @officialasishkumar l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
avo-hq/avo#4986 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
endoflife-date/endoflife.date#11561 ·
Les mainteneurs répondent en général sous 1 jour