-
-
Notifications
You must be signed in to change notification settings - Fork 424
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
Feature: complete lifecycle signals and documentation #1147
Conversation
The failing test is also failing on |
dev branch runs well locally here. |
e74b2e0
to
58d4801
Compare
No, just enough hooks :P
Good.
Agree
Good |
Updated with the comments taken in account (changed some links format, removed the
Noted 😅
I have some plugin idea I'd like to try, that will be a good opportunity to do it (and dogfooding it at the same time)
OK, will do 👍🏼
Done ✅ |
0efaf8b
to
b05bf5b
Compare
Codecov Report
@@ Coverage Diff @@
## dev #1147 +/- ##
==========================================
+ Coverage 84.39% 84.54% +0.15%
==========================================
Files 80 80
Lines 7075 7086 +11
Branches 1681 1683 +2
==========================================
+ Hits 5971 5991 +20
+ Misses 737 730 -7
+ Partials 367 365 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, I reviewed the content of the new documentation page and left some comments.
7bbc16f
to
9bdbae7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, @pawamoy any to add?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome docs 🙂
Thx 🙏🏼 |
* feat(hooks): Added pre-publish hook * refactor(hooks): dynamic signal/hooks listing avoiding double declaration * feat(hooks): added (pre|post)_script and (pre|post)_run hooks * doc(hooks): added lifecycle and hooks documentation * review fix * fix(tests): add and use the _echo fixture for cross-plateform and concise test echos * refactor(hooks): automatically register the script handler for all hooks
* feat(hooks): Added pre-publish hook * refactor(hooks): dynamic signal/hooks listing avoiding double declaration * feat(hooks): added (pre|post)_script and (pre|post)_run hooks * doc(hooks): added lifecycle and hooks documentation * review fix * fix(tests): add and use the _echo fixture for cross-plateform and concise test echos * refactor(hooks): automatically register the script handler for all hooks
* feat(hooks): Added pre-publish hook * refactor(hooks): dynamic signal/hooks listing avoiding double declaration * feat(hooks): added (pre|post)_script and (pre|post)_run hooks * doc(hooks): added lifecycle and hooks documentation * review fix * fix(tests): add and use the _echo fixture for cross-plateform and concise test echos * refactor(hooks): automatically register the script handler for all hooks
* feat(core): Use tomllib on Python 3.11 (#1072) * docs: 📝 Fix typo in `pip install pdm` description (#1061) * Use tomllib on Python 3.11 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * news * use a compatibility module * missed one import Co-authored-by: t106362512 <33215526+t106362512@users.noreply.github.com> Co-authored-by: hauntsaninja <> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(core): Replace halo, click, and termcolor with rich (#1091) * feat(core): Use `unearth` as the backend to find and download packages (#1096) * perf(resolver): Speed up the resolution with lazy find_matches (#1098) * Improve the output of installing packages * Use confirm instead of ask * feat(core): New command: pdm publish (#1107) * Use rich handler for logging to stderr * feat(scripts): added composite tasks support (#1117) * feat(core): Add option to skip hooks (#1127) * fix(scripts): allow pdm test command to receive path arguments * feat(hooks): added a `--skip` option to skipp scripts and hooks (#1127) fix #948 * feat(hooks): use PDM_SKIP_HOOKS environement variable as fallback for skip list * feat(core): Support setup.py import (#1137) * Update completion script * fix(resolution): fix a bug that versions with local part can't be found and installed Close #1093 * feat(core): forbid editable depenencies in project table (#1140) * Make the error message more friendly * doc: improve the docs about dependencies * doc: add CLI reference doc * doc: use asciiart as the program description * chore: remove remaining artifacts from #1127 (#1152) * Feature: complete lifecycle signals and documentation (#1147) * feat(hooks): Added pre-publish hook * refactor(hooks): dynamic signal/hooks listing avoiding double declaration * feat(hooks): added (pre|post)_script and (pre|post)_run hooks * doc(hooks): added lifecycle and hooks documentation * review fix * fix(tests): add and use the _echo fixture for cross-plateform and concise test echos * refactor(hooks): automatically register the script handler for all hooks * feat: Update pdm-pep517 to 1.0 (#1153) * fix(scripts): merge the Script and Description field from listing (#1151) * feat: fetch the candidate hashes concurrently (#1154) * feat: fetch the candidate hashes concurrently * add news * Feat/respect-source-order (#1155) * doc: restructure the docs about project metadata and build configuration * parse pep 621 metadata to avoid build (#1156) * feat: Remove the compatible support for pdm legacy metadata (#1157) * fix(config): use platform standard directories for all PDM directories (#1161) Fixes #1150 * fix(#1156): only trust parsing result when all are static * New build configuration table * chore: added a tox.ini file for easier local testing against all Python versions (#1160) * feat(CLI): Yarn-like root scripts fallback (#1159) * feat(hooks): added a post_use hook (#1163) Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Co-authored-by: t106362512 <33215526+t106362512@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Axel H <noirbizarre@users.noreply.github.com>
* feat(hooks): Added pre-publish hook * refactor(hooks): dynamic signal/hooks listing avoiding double declaration * feat(hooks): added (pre|post)_script and (pre|post)_run hooks * doc(hooks): added lifecycle and hooks documentation * review fix * fix(tests): add and use the _echo fixture for cross-plateform and concise test echos * refactor(hooks): automatically register the script handler for all hooks
Pull Request Check List
news/
describing what is new.Describe what you have changed in this PR.
This PR follows #1127 and adds the following:
pre_publish
executed before publishingpost_publish
executed before publishingpre_script
executed before each script execution (runs multiple times in case of composite script)post_script
executed after each script execution (runs multiple times in case of composite script)pre_run
executed once before a run (run only once in case of composite script)post_run
executed once after a run (run only once in case of composite script)new
: just because I documented if and it wasn't existing (I'm also rust/cargo user, I bootstrap project with it)Lifecycle and hooks
section with detailled lifecycle documentation with flow chartsAs it's documentation, as there as been changes since I started writting it (at least the cli reference), there might have some typos and inconsistencies to fix.
It was interesting digging into the commands and the lifecycle. I think some good additions for could be:
pre/post_upload
hookshooks.py
for clarity and ease of maintainanceNote: I made a single PR because to me everything is related but I can split into multiple PRs if required