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)

  1. Selectionner les changements requis à la branche -stable (par exemple. 0.28-stable pour 0.28).
  2. S’assurer que vous êtes localement sur la branche -stable.
  3. Exécutez npm version patch pour surcharger le numéro de version et créer le commit et le tag Git
  4. Exécutez git push origin 0.xx-stable --follow-tags (remplacer 0.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)

  1. Assurez-vous que la branche master courante est verte sur Circle, Travis et AppVeyor
  2. S’assurer que vous êtes sur ` master ` et que votre copie locale de Yarn est à jour
  3. Exécuter ./scripts/release-branch.sh. Ceci va :
    • Créer la branche 0.xx stable et le tag 0.xx.0
    • Incrémenter master vers la prochaine version mineure (c-à-d. après la sortie de la version 0.29.0, master sera incrémenté à 0.30.0)
    • Pousser tout vers origin

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

  1. Exécuter yarn build-dist && yarn build-deb pour construire la version tarball et le paquet RPM
  2. Exécuter yarn build-dist && yarn build-win-installer sur Windows pour construire l’installeur Windows
  3. 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

  4. 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

  5. Créez une nouvelle version sur GitHub et attacher tous les artefacts. Pour le MSI, assurez vous d’attacher la version signé !
  6. Publiez la tarball sur npm : npm publish ./artifacts/yarn-v0.xx.xx.tar.gz
  7. Procédez aux étapes après-la-version ci-dessous

Passage de RC à stable

  1. Modifiez la version GitHub pour la marquer comme stable
  2. 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é)
  3. Exécutez les étapes après-la-version ci-dessous

Après la version

  1. Augmentez le numéro de version dans _config.yml sur le site web
  2. Exécutez ./scripts/build-chocolatey.ps1 pour pousser vers Chocolatey
  3. Exécutez ./scripts/update-homebrew.sh pour pousser vers Homebrew
  4. 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)