Add JRuby and TruffleRuby to CI
@nevans y travaille déjà.
Depuis le 3/10/2025.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- ruby
- Domaine
- ci-cd, networking
Piste de recherche
Examinez les tests de l’analyseur de réponses et les tests de connexion SSL, puis suivez l’interaction entre get_tagged_response et receive_responses pour le deadlock signalé. Vérifiez les issues associées de JRuby et TruffleRuby avant de modifier net-imap ; le travail est considéré comme terminé lorsque CI exécute les deux implémentations et que les incompatibilités sont corrigées ou explicitement indiquées comme en attente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
_I'd like to add CI for JRuby and TruffleRuby, but the last time I tried I got a bunch of errors (admittedly, I didn't spend much time trying to figure them out).
Ideally, we could fix the errors without significant changes, and net-imap could be fully functional under those implementations.
If the changes needed for full compatibility are significant, maybe we can just mark some tests as pending. That will at least serve as a warning of what's incompatible, and prevent new changes from inadvertently widening that gap (see for example #452).
Fixed by
- (replaced) #470
- #528
- #529
Other related issues
net-imap issues/PRs
- #473 (JRuby FrozenError doesn't use
#inspect) - #477
- #476
- #478
- #530
- #531
- #520
- Don't wait for lock before closing the socket in
#disconnect
JRuby issues/PRs
- jruby/jruby#8829 - to fix Data subclasses
- jruby/jruby#8830 - fixed the response parser tests
- jruby/jruby#8832
- ruby/json/issues/870
- Struct inheritance issues: 002db9f58.
- All (or nearly all) of the SSL connection tests are failing. Hopefully this only requires small tweaks to
net-imaptest code.
TruffleRuby issues/PRs:
- oracle/truffleruby#3846
- oracle/truffleruby#3847
- oracle/truffleruby#3850
- oracle/truffleruby#3855
- oracle/truffleruby#3856
- oracle/truffleruby#3858
- oracle/truffleruby#3892
Misc
- I either omitted or marked as pending everything that's currently failing.
- TODO: diagnose deadlock on error (between
get_tagged_responseandreceive_responses?) - Both JRuby and TruffleRuby still fail in various ways when inheriting from Data.
- I temporarily added in a crazy feature-check to our
Datapolyfill. Rather than just check RUBY_ENGINE and RUBY_ENGINE_VERSION and defined?(::Data) and ::Data.respond_to?(:define), it tries to use all of the features that were causing tests to fail. If anything looks off, it prints a warning and falls back to the polyfill. I'm not going to merge this feature check. But it's in the branch. 😉 net-imapv0.6.0 will still be deletingDataLite.
- I temporarily added in a crazy feature-check to our
- Langage dominant
- Ruby
- Étoiles
- 121
- Forks
- 47
- Merge moyen
- 19 h 25 min
- PR mergées (30 j)
- 3
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 ruby/net-imap
-
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
-
bug
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
-
Cannot use FakeServerOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
Toutes les issues de ruby/net-imap
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Websockify heartbeat for vnc_containerPeut-être pris @robinkar l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
needs verification
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 7 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
akitaonrails/ai-book-2026#13 ·
-
Mend: dependency security vulnerability
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
Les mainteneurs répondent en général sous 1 jour