Alpha and beta releases sort above the final release
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 74/100
Piste de recherche
Le tri se trouve dans comparisonVersionString() dans src/Repository/ReleasesCollection.php, qui réécrit les suffixes de la forme -beta.1 en parties numériques que version_compare() classe ensuite à tort. Commence par retirer #[Skip] de ReleasesCollectionTest::sortByVersionPutsPreReleasesBelowFinalRelease, puis exécute vendor/bin/testo --filter=sortByVersionPutsPreReleasesBelowFinalRelease. C'est terminé lorsque ce test passe et que les versions finales sont triées au-dessus de rc, beta et alpha, y compris -RC en majuscules. Vérifie d'abord #49, car remplacer la recherche des releases pourrait supprimer ce code.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
ReleasesCollection::sortByVersion() ranks alpha and beta pre-releases above the final release of the same version. Sorting v2024.1.0-alpha.1, v2024.1.0, v2024.1.0-beta.1, v2024.1.0-rc.1 gives:
v2024.1.0-beta.1
v2024.1.0-alpha.1
v2024.1.0
v2024.1.0-rc.1
Expected: v2024.1.0, v2024.1.0-rc.1, v2024.1.0-beta.1, v2024.1.0-alpha.1.
get-binary and download-protoc-binary install the first release of the sorted list that passes the stability filter. With --stability=beta (or lower) they pick the beta over the final release that is already out.
comparisonVersionString() replaces -<stability> with .<weight>.. v2024.1.0-beta.1 therefore compares as v2024.1.0.2..1, and version_compare() ranks it above v2024.1.0 because it has more numeric parts. Lower-case -rc tags are left untouched (the stability is RC), so they happen to sort correctly. Upper-case -RC tags have the same problem as beta and alpha. #2 was about the order among pre-releases.
Steps to reproduce
- Remove
#[Skip]fromReleasesCollectionTest::sortByVersionPutsPreReleasesBelowFinalRelease. - Run
vendor/bin/testo --filter=sortByVersionPutsPreReleasesBelowFinalRelease.
Additional context
The release lookup may be replaced by DLoad in #49, in which case this code goes away.
- Langage dominant
- PHP
- Étoiles
- 30
- Forks
- 15
- Merge moyen
- 9 h 37 min
- PR mergées (30 j)
- 16
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le 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 roadrunner-php/cli
-
--stability=rc is treated as devOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
roadrunner-php/cli#67 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de roadrunner-php/cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
TYPO3BestPractices/tea#2409 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
api-platform/core#8690 ·
Les mainteneurs répondent en général sous 1 jour
-
No Code Attached Yet
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
joomla/joomla-cms#48626 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
DorsetDigital/silverstripe-schema-manager#26 ·
Les mainteneurs répondent en général sous 1 jour
-
sync-en
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 4 jours