Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Makefile: don't run git checkout - at the end of the build #1619

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 12, 2021

Conversation

dmerejkowsky
Copy link
Contributor

Running git checkout CPYTHON_CURRENT_COMMIT and then
git checkout -c can render the spinx build slower
because many sources may seem out of date.

It's better to check if we are at the correct revision and
not run any git operations if there's nothing to be done

@PyDocTeur
Copy link

Hello @dmerejkowsky ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.11.1

@dmerejkowsky
Copy link
Contributor Author

Note: j'ai d'autres idée pour rendre le build plus rapide - en tout cas pendant le développement, notamment:

  • ne pas lancer blurb quand ce n'est pas nécessaire
  • utiliser sphinx-autobuild pour relancer sphinx automatiquement

mais ça me paraît un bon premier pas.

@PyDocTeur
Copy link

Hello @dmerejkowsky ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.11.1

1 similar comment
@PyDocTeur
Copy link

Hello @dmerejkowsky ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.11.1

@dmerejkowsky
Copy link
Contributor Author

Quelques mesures. À chaque fois, on mesure le temps pris par make après avoir changé 1 fichier .po

Sans ce patch, si cpython est sur une autre branche (par exemple, le tag 3.9): 5 minutes

Avec ce patch, en générant le fichier NEWS: 30s

Avec ce patch, et sans générer le fichiers NEWS: 12s

À noter pour le dernier cas : si on ne change aucun fichier po, le temps d'un "no-op" n'est plus que de 5s

@PyDocTeur
Copy link

Hello @dmerejkowsky ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.11.1

Makefile Outdated
Comment on lines 61 to 67
git -C $(CPYTHON_PATH) checkout $(CPYTHON_CURRENT_COMMIT)
@if [ $(shell git -C $(CPYTHON_PATH) rev-parse HEAD) != $(CPYTHON_CURRENT_COMMIT) ]; then \
echo "Your $(CPYTHON_PATH) repositoy is not at the currect revision"; \
echo "You can run try and run "; \
echo "git -C $(CPYTHON_PATH) checkout $(CPYTHON_CURRENT_COMMIT)"; \
echo "to fix the problem"; \
exit 1; \
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi pas laisser cette ligne comme elle était ? Elle me paraît bonne pour les raisons suivantes :

  • git ne touchera pas aux fichiers si on est déjà sur la bonne branche, donc il n'invalidera pas le cache de Sphinx
  • C'est plus cool pour l'utilisateur de ne pas avoir à le faire lui même.
  • On ne peut pas "casser" le repo d'un dev cpython de toute façons car avant ça on vérifie que son repo est clean

Et plus moins il y a de lignes à maintenir mieux je me porte :D

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Juste pour être sûr. Tu parles de garder la ligne git checout $(CPYTHON_CURRENT_COMMIT) mais d'enlever le git checkout - ?

C'est une solution possible. C'est juste que par rapport à d'autres projets similaires, ça me surprend moins d'avoir un make qui me dit que mon code est pas à jour qu'un make qui lance git à ma place, mais ça reste un argument subjectif.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Juste pour être sûr. Tu parles de garder la ligne git checout $(CPYTHON_CURRENT_COMMIT) mais d'enlever le git checkout - ?

Oui, car c'est sans risque, puisqu'on vérifie dans ensure_prerequisites que son repo est clean.

@PyDocTeur
Copy link

Hello @dmerejkowsky ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.11.1

@python python deleted a comment from PyDocTeur May 5, 2021
@python python deleted a comment from PyDocTeur May 5, 2021
@python python deleted a comment from PyDocTeur May 5, 2021
Running `git checkout CPYTHON_CURRENT_COMMIT` and then
`git checkout -c` can render the sphinx build slower
because many sources may seem out of date.
@dmerejkowsky dmerejkowsky changed the title Makefile: reduce the number of git operations Makefile: don't run git checkout - at the end of the build May 12, 2021
@PyDocTeur
Copy link

Rajoutez-moi un automerge et ca part en prod !


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: approved)
PyDocTeur v1.11.1

@christopheNan christopheNan merged commit 61635a4 into python:3.9 May 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants