Processus de Release
Pousser une nouvelle version
Les étapes varient légèrement selon le type de version que vous poussez (majeur, mineur ou patch)
Pour sortir une nouvelle version d’un patch (par exemple. de 0.28.1 à 0.28.2)
- Selectionner les changements requis à la branche
-stable
(par exemple.0.28-stable
pour 0.28). - S’assurer que vous êtes localement sur la branche
-stable
. - Exécutez
npm version patch
pour surcharger le numéro de version et créer le commit et le tag Git - Exécutez
git push origin 0.xx-stable --follow-tags
(remplacer0.xx stable
par le nom de la bonne branche)
Pour sortir une nouvelle version mineure ou majeure (par exemple. de 0.28.x à 0.29.0)
- Assurez-vous que la branche master courante est verte sur Circle, Travis et AppVeyor
- S’assurer que vous êtes sur ` master ` et que votre copie locale de Yarn est à jour
- Exécuter
./scripts/release-branch.sh
. Ceci va :- Créer la branche
0.xx stable
et le tag0.xx.0
- Incrémenter
master
vers la prochaine version mineure (c-à-d. après la sortie de la version0.29.0
, master sera incrémenté à0.30.0
) - Pousser tout vers
origin
- Créer la branche
Pour marquer une release RC comme stable
Une fois que la version RC a été testé par la Communauté pendant un certain temps et que tous les principaux bugs ont été résolus, cette version peut être marquée comme stable. Pour ce faire, allez sur https://release.yarnpkg.com/ et cliquez sur le bouton « Promote RC to stable ».
Remarque : Il y a une whitelist pour les utilisateurs qui peuvent accéder à cette page. Si un maintaineur est absent de la whitelist, vous pouvez la modifier ici.
Déboguer une version
Parfois les choses tournent mal. Voici comment déboguer certains problèmes courants :
J’ai commité le tag, mais le site pointe vers l’ancienne version
Vérifiez la version sur GitHub pour tous les artefacts manquants. Les scripts de version n’incrémente pas le numéro de version sur le site jusqu’à ce que les artefacts de Linux et de Windows ont été attachées à la version.
Artefacts de Linux (. tar.gz
, .deb
, etc.) sont manquants
Vérifier le build CircleCI et réexécuter si il a échoué. Si le build a réussi, Vérifiez les logs webhook pour d’éventuelles erreurs.
Les artefacts de Windows (.msi
) sont manquants
Vérifier le build AppVeyor et réexécuter si elle a échoué. Si le build a réussi, Vérifiez les logs webhook pour d’éventuelles erreurs.
Tous les artefacts sont attachés à la version, mais toujours site pointe vers l’ancienne version
Vérifier le job Jenkins de build yarn-version et voir si elle a échoué.
Comment le faire manuellement
La plupart des versions ont été automatisé et sont assez simples. Normalement, vous pouvez juste arrêter de lire ici. Toutefois, si les outils de construction de version échoues (ou si vous aimez faire des choses compliquées), vous pouvez exécuter manuellement les étapes de la construction de version.
Créer un nouvelle version
- Exécuter
yarn build-dist && yarn build-deb
pour construire la version tarball et le paquet RPM - Exécuter
yarn build-dist && yarn build-win-installer
sur Windows pour construire l’installeur Windows -
GPG signe le
. tar.gz
et.js
artefacts: sh gpg -u 9D41F3C3 –armor –detach-sign yarn-0.xx.xx.tar.gz Cela va générer.asc
fichiers que vous devez aussi joindre à la version -
Authenticode signe le
.msi
artefacts: sh osslsigncode sign -t http://timestamp.digicert.com -n “Yarn Installer” -i https://yarnpkg.com/ -pkcs12 yarn-20161122.pfx -readpass yarn-20161122.key -h sha1 -in yarn-0.xx.xx-unsigned.msi -out yarn-0.xx.xx.msi osslsigncode sign -t http://timestamp.digicert.com -n “Yarn Installer” -i https://yarnpkg.com/ -pkcs12 yarn-20161122.pfx -readpass yarn-20161122.key -nest -h sha2 -in yarn-0.xx.xx.msi -out yarn-0.xx.xx.msi - Créez une nouvelle version sur GitHub et attacher tous les artefacts. Pour le MSI, assurez vous d’attacher la version signé !
- Publiez la tarball sur npm :
npm publish ./artifacts/yarn-v0.xx.xx.tar.gz
- Procédez aux étapes après-la-version ci-dessous
Passage de RC à stable
- Modifiez la version GitHub pour la marquer comme stable
- Exécutez
npm dist-tag add yarn@0.xx.xx latest
(où0.xx.xx
est le numéro de version qui vient d’être libéré) - Exécutez les étapes après-la-version ci-dessous
Après la version
- Augmentez le numéro de version dans _config.yml sur le site web
- Exécutez
./scripts/build-chocolatey.ps1
pour pousser vers Chocolatey - Exécutez
./scripts/update-homebrew.sh
pour pousser vers Homebrew - Les repo Debian et CentOS devraient automatiquement être mis à jour avec la dernier release en moins de 5 minutes (gardez un oeil sur les commits)