mkdocstrings-github 0.6.4__tar.gz → 0.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mkdocstrings_github-0.7.1/.github/workflows/docs.yaml +55 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/workflows/example_workflow.yml +12 -22
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/workflows/qualify.yaml +3 -4
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/workflows/release.yaml +3 -4
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.pre-commit-config.yaml +1 -1
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/PKG-INFO +1 -1
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/changelog.md +42 -0
- mkdocstrings_github-0.7.1/docs/usage/general.md +119 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/usage/index.md +1 -1
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/mkdocs.yml +7 -4
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/pyproject.toml +5 -4
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/config.py +21 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/handler.py +8 -3
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/objects.py +56 -5
- mkdocstrings_github-0.7.1/src/mkdocstrings_handlers/github/rendering.py +204 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/workflow.html.jinja +11 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/__init__.py +82 -74
- mkdocstrings_github-0.7.1/test/snapshots/external/0175e682b75586565fa4f3b689cea42f88c66099896487a6493e584e05fd5b98.html +43 -0
- mkdocstrings_github-0.6.4/test/snapshots/external/06f909d26ca3c2008ca57aeae14dc63fb04ade05997b8aed6ae1573bf42b5841.html → mkdocstrings_github-0.7.1/test/snapshots/external/0ca94ffd86a19ad7ce822b865ce27acd6cd70b62ef52d70809162653caf6c388.html +1 -1
- mkdocstrings_github-0.7.1/test/snapshots/external/576e1574c21783af2860477da76aee77b565db51777a0482f4276b59eea77823.html +42 -0
- mkdocstrings_github-0.7.1/test/snapshots/external/8be1b8e706865cf70d8de162b0bca0d4ceecc8ea3d9c285354c7e654c50623f5.html +15 -0
- mkdocstrings_github-0.6.4/test/snapshots/external/ace14d7e4e53515a281c109aca1d7b5bccb1259ff0c3e0c28a8e09908e4f2f26.html → mkdocstrings_github-0.7.1/test/snapshots/external/c08f860e46cad95600d1ca35eeb6c22981e32c4dffe14f52cc515e379e650b85.html +1 -1
- mkdocstrings_github-0.7.1/test/snapshots/external/e943d5c405cb409c7ac458aca82fade02f0b3cfcbb6dcf4c27ad8a881d4869a7.html +43 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/test_render_workflow.py +110 -0
- mkdocstrings_github-0.6.4/.github/workflows/docs.yaml +0 -80
- mkdocstrings_github-0.6.4/docs/usage/general.md +0 -66
- mkdocstrings_github-0.6.4/src/mkdocstrings_handlers/github/rendering.py +0 -108
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/CODEOWNERS +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/CONTRIBUTING.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/FUNDING.yml +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/renovate.json5 +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.gitignore +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.gitmodules +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/LICENSE +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/README.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/action.yaml +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/contributing.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/credits.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/favicon.png +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/img/example_dark.png +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/img/example_light.png +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/img/logo.png +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/index.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/license-page.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/overrides/main.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/overrides/partials/toc-item.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/stylesheets/extra.css +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/usage/headings.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/usage/parameters.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/docs/usage/signatures.md +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/__init__.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/py.typed +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/_macros.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/action.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/heading.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/inputs.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/outputs.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/secrets.html.jinja +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/templates/material/style.css +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/__init__.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/conftest.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/docs/.gitkeep +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/helpers.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/.gitignore +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/074e6b0350e6835d8a5461f936fc6ff8a0c46dc4c80c5ad5cd0b835cae19e2cd.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/0a37a4286738a72a224871dbd1bcd3c662e768f800a8e2b92c410d672c1d19fc.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/0bed6d92c16c4e133ffbed2d273614bca1be0d8a22afed48b36bd244e7eb261b.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/0d0e2427b85f5904c7c3970d7b411e0f2337a3c91a25beb18348e6d4a51e48ec.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/0de8e0706404a3d84a59420f94558fc0687324dad2f1340cec32bd4368626262.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/1322d6390dbc167e4d2734b6ff7ac30265a52feb242ece864fd08dd36a88214a.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/1efa0765882b4ea1a66fc91ef88418634786028dfcec5879aed9c268749de63c.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/1f92a9273cccc3fc7a358dfeca8bb2cbb5ede804ff490106eb2322cddd78f256.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/22929d6c2b70b481583d7b07fd7bff72dba985a465d42ad4ee5a7f557429102f.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/23cc1367f9dd06c1d51e4b1c8a5a2ea807f32a78de9c061438f4d2315bcc3d0e.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/24b2b02efe6eb2db3069c3d1717c3f7ad9bc47321acfd63979748b0a8378b169.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/2500c66e16468b20050dd9b8b152a48644d008c0316e444f47afc7bc5117e004.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/27af0061b4353d60bc86fadef002e4cad8d8774c06c3a720050c2b8b6726feae.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/28df0ab9fe5662687b72cbb8b2c8e2e18b98beb5a114a505ad845c91b8955a2e.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/2eb63f18b2d0aaf8000ffcc081c80067937fc7cacea496c2871198aa3bc12a14.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/361203a8fe1654bbfd22dcf01308d9b587b187f72c45754e2e35d1638696c35d.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/36d5597971381260ce0cd98b6ba1c3973134add32288bf34f47290fdbe55b0ec.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/3cb099624d882a4cde3ef6fdbea56c9aced9331dca1e19c7bc311c2611782e0d.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/43ad574e6f4bd9d7c1e5b41f74e890f314d86accf94396a2266e8736f8baf07a.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/47004f712909b0981384b3b51f7395939ee5ed669d38f620cc8275e700925371.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/50af1499553795c8cd859a1c9aa5ba162ef1c3dd9fa466668fc2da5bb002a61c.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/5508680ad1969ec83c9f6986137cca92bace28f3c5c75a67337753ee384c6783.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/5a2f11e94bc00c7a5122364dcffcdc9bd5c514a773fbf4d1b04fa7e96ba2cfa5.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/5d0abaf6f1a04083e3236ea03d57897ba0d03c9fe047738d0d9b065c8b45eff5.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/5e3b7eb70931d08e482575fcc2a24460f6a47c5ab58ffe37125d139a56cc5a0d.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/62bff06eac186bef15cc125315a29901d284d4e1b9b2e8ee7890ad1296cd8342.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/66a319534331c51a39c04e1c278747db6e1bb3ce99877c91e9af556da2de3182.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/6962c89022a7a9efbb57250e05f28f5375d5012b6a7d974040affe180c6fff0f.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/699c6bcc632255eb0d6715e054b5fb1a9328e5abc414a3f2b3605514eb440247.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/6af63bf65a648dc8a89b9fd67e7c2434ce2d004b54d21db2310f38de4c6a2038.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/6d20fba34c55a0c3c25d29a29470de573812305d70dabac3104a7d18d92b2b86.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/72b55cb37adc5eeaaeedc47e092dce6ada6193137372da90d471284b95714a24.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/757b79d7975f29e7b7eeda8c910578cb858a867dc4c647c4b5bc9a4c45dbf62e.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/78feb92e4171bf067dd1615523e5c9cac0de998bb7102ee70da2e145d1262339.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/7a54a2a8729f165bbdb1980498724d4de8e886d849b7407b4969bde8d14a7b88.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/81baa4bca07bde66951a18c2e99f3d86c4263bf01f054876225398e257390f00.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/8476f864e849f8e154b4144e873fbc540fb8e88c8ad095eb66925afe67c3fcac.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/856a4ff20ee15b09367d852d57cdb6a3376b799760365dbf7677c216156a7b4d.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/8b65d193fe31a661d1aa1b882b5d6cee96dcaaa4d28b057cdde5ccec660e9cb1.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/8bacb89d75273f2bfee27f0d86fd49def327fd3e33ba7595aac8058ab214181d.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/8bedbe96ebb5c09a621a72f4cf16b73cf538cd5bfb3549a99e3283f5bd97ef08.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/93bf082d40ca4b6730a503aa4d265901a8cfed7ed1a6e9bb6e584c2c3ebd18af.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/94b8c0c6610d32e8a877cb18b47ff8b072203c6a1e8fddc67be1d7e5b963c385.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/98e4b6474a6f67576ae40a75e152e6bd8c3e743259ad7f1d08890def2ff858d1.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/9cc6f18114bfd48128d8cc74d40d4f19911408af280ba1866f07209ae80d5e42.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/a34a87167e37faaf559d506c0c2a72913d0a225c06784d9ad71d91ffd97c1f42.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/a683a1d590ea2a074bc13a38c02f9b708290f8de5ebd660c73edaaabe695bc32.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/ac47b3b933709154de762d06903d78925cea9f1ec93865386d669680cf17e4a8.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/b6163f7b64f009d0f8992a0ccb4da0af6b02b5411dceb42cb0816b5721ebade0.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/b972a05ffc5672d471d5b1e84b01470a3363a25f9d9adbc8d82f4b9fd21a94a1.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/bbea0ecf08aec9444ed75cbffd5424aa19e285ac64a53d1bb50f6130230b3c97.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/c2181f9e06dd6b7437f14e815c4fd32ec304e4474c93e86c02b43f41367a79ff.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/c50b7f91aafff5caf0fe0ff96a922b499617966705cde0d3622191f51f523b38.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/c8c895c400f0532aa3afe641f79ed14bc399b504169242c0a9f77572c185def2.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/cdad9a8909ec6448ff4392f523d4c7d41dcba61fc635e7e744026f901df04913.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/d0d656ae32436d7b190665f98f3fe2d7a6250ee7ff4e1fb1bcd9a1364d3da2cb.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/d3695fdb74725542e432d0cd239481b0e3ea11b671395255f6ad25875830324c.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/db0c43c8233d3c9719119d9e20bb483c48c42a01e488b7441664bdae58568d9f.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/dbdc3c6e76833bb444a7d291266713ec6cf3f196ddf27e2e30eb94da9efc2c1f.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/e567efbdae19280c4c56a70a27de39e0efdc422d99c9d497629128fd3ec553d5.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/e728a11685286456b1d4c90386923bfd08af1311c7de06966affd011abde3be6.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/ebb0bfe46e02e0e3fec3ac5a3bc44cddcab4d0f12871b708469db393e029b1e7.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/ecf772312e7e697bab6126468a698dc8184b2ff78361cf71e3fdc35157e7d542.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/f90542b4e3cbaf7e9820cdad6bbe707e3210983c911f11584cfae580e5cf6a04.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/snapshots/external/ffc40bfdc5e916d73943cd9bae0a3e893664bab1c10fc25a30f8243852022efb.html +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/test_coverage.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/test_handler.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/test_render_action.py +0 -0
- {mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/test/test_signature_ref.py +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
# Controls when the workflow will run
|
|
4
|
+
on:
|
|
5
|
+
workflow_call:
|
|
6
|
+
inputs:
|
|
7
|
+
ref:
|
|
8
|
+
description: >-
|
|
9
|
+
The ref to checkout and use to create docs
|
|
10
|
+
type: string
|
|
11
|
+
default: ""
|
|
12
|
+
push:
|
|
13
|
+
description: >-
|
|
14
|
+
Push the documentation to the remote branch
|
|
15
|
+
type: boolean
|
|
16
|
+
default: true
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
pages: write
|
|
21
|
+
id-token: write
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
build:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/configure-pages@v5
|
|
29
|
+
|
|
30
|
+
- uses: actions/checkout@v6
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0 # Required to push to the documentation branch
|
|
33
|
+
ref: ${{ inputs.ref }}
|
|
34
|
+
|
|
35
|
+
- name: Install the latest version of uv
|
|
36
|
+
uses: astral-sh/setup-uv@v7
|
|
37
|
+
with:
|
|
38
|
+
version: "latest"
|
|
39
|
+
|
|
40
|
+
- name: Sync dependencies
|
|
41
|
+
run: |
|
|
42
|
+
uv sync --no-dev --group docs
|
|
43
|
+
|
|
44
|
+
- name: Build documentation
|
|
45
|
+
run: |
|
|
46
|
+
uv run zensical build --clean
|
|
47
|
+
|
|
48
|
+
- uses: actions/upload-pages-artifact@v4
|
|
49
|
+
if: ${{ inputs.push }}
|
|
50
|
+
with:
|
|
51
|
+
path: site
|
|
52
|
+
|
|
53
|
+
- uses: actions/deploy-pages@v4
|
|
54
|
+
if: ${{ inputs.push }}
|
|
55
|
+
id: deployment
|
{mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/.github/workflows/example_workflow.yml
RENAMED
|
@@ -70,16 +70,10 @@ jobs:
|
|
|
70
70
|
name: 'Validate Inputs'
|
|
71
71
|
runs-on: ubuntu-latest
|
|
72
72
|
steps:
|
|
73
|
-
- name:
|
|
74
|
-
|
|
75
|
-
echo "Validating environment: ${{ inputs.environment }}"
|
|
76
|
-
if [[ ! "${{ inputs.environment }}" =~ ^(development|staging|production)$ ]]; then
|
|
77
|
-
echo "Error: Invalid environment specified"
|
|
78
|
-
exit 1
|
|
79
|
-
fi
|
|
73
|
+
- name: Checkout code
|
|
74
|
+
uses: actions/checkout@v6
|
|
80
75
|
|
|
81
|
-
-
|
|
82
|
-
run: |
|
|
76
|
+
- run: |
|
|
83
77
|
echo "Validating version: ${{ inputs.version }}"
|
|
84
78
|
|
|
85
79
|
- name: Check secrets
|
|
@@ -106,8 +100,7 @@ jobs:
|
|
|
106
100
|
echo "Parallel jobs: ${{ inputs.parallel-jobs }}"
|
|
107
101
|
echo "Notifications enabled: ${{ inputs.enable-notifications }}"
|
|
108
102
|
|
|
109
|
-
-
|
|
110
|
-
run: |
|
|
103
|
+
- run: |
|
|
111
104
|
echo "Configuration: ${{ inputs.configuration }}"
|
|
112
105
|
|
|
113
106
|
- name: Execute deployment
|
|
@@ -125,15 +118,12 @@ jobs:
|
|
|
125
118
|
echo "URL: ${deployment_url}"
|
|
126
119
|
|
|
127
120
|
notify:
|
|
128
|
-
name:
|
|
129
|
-
|
|
121
|
+
name: Send Notifications
|
|
122
|
+
uses: other-org/notify-workflow/.github/workflows/notify.yml@main
|
|
130
123
|
needs: deploy
|
|
131
|
-
if: ${{ inputs.enable-notifications }}
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
- name: Create GitHub deployment
|
|
138
|
-
run: |
|
|
139
|
-
echo "Creating GitHub deployment status for ${{ needs.deploy.outputs.deployment-id }}"
|
|
124
|
+
if: ${{ inputs.enable-notifications == true }}
|
|
125
|
+
with:
|
|
126
|
+
deployment-id: ${{ needs.deploy.outputs.deployment-id }}
|
|
127
|
+
deployment-url: ${{ needs.deploy.outputs.deployment-url }}
|
|
128
|
+
environment: ${{ inputs.environment }}
|
|
129
|
+
success: ${{ needs.deploy.outputs.success }}
|
|
@@ -24,12 +24,11 @@ jobs:
|
|
|
24
24
|
name: Test deploy documentation
|
|
25
25
|
uses: ./.github/workflows/docs.yaml
|
|
26
26
|
permissions:
|
|
27
|
-
contents:
|
|
27
|
+
contents: read
|
|
28
|
+
pages: write
|
|
29
|
+
id-token: write
|
|
28
30
|
secrets: inherit
|
|
29
31
|
with:
|
|
30
|
-
version: ${{ format('pr-{0}', github.head_ref) || 'test' }}
|
|
31
|
-
alias: "test"
|
|
32
|
-
set-default: false
|
|
33
32
|
push: false
|
|
34
33
|
|
|
35
34
|
setup:
|
|
@@ -153,11 +153,10 @@ jobs:
|
|
|
153
153
|
if: github.event.pull_request.merged
|
|
154
154
|
uses: ./.github/workflows/docs.yaml
|
|
155
155
|
permissions:
|
|
156
|
-
contents:
|
|
156
|
+
contents: read
|
|
157
|
+
pages: write
|
|
158
|
+
id-token: write
|
|
157
159
|
secrets: inherit
|
|
158
160
|
with:
|
|
159
|
-
version: ${{ needs.release.outputs.next-tag || needs.release.outputs.last-tag }}
|
|
160
|
-
alias: latest
|
|
161
|
-
set-default: true
|
|
162
161
|
ref: ${{ needs.release.outputs.next-tag }}
|
|
163
162
|
push: true
|
|
@@ -2,6 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.7.1 (2026-02-03)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Build with zensical ([#51](https://github.com/watermarkhu/mkdocstrings-github/pull/51),
|
|
10
|
+
[`da116f2`](https://github.com/watermarkhu/mkdocstrings-github/commit/da116f20d0c7eaef694a863542450dd313ca85bd))
|
|
11
|
+
|
|
12
|
+
### Build System
|
|
13
|
+
|
|
14
|
+
- **deps**: Update dependency ruff to ~=0.15.0
|
|
15
|
+
([#52](https://github.com/watermarkhu/mkdocstrings-github/pull/52),
|
|
16
|
+
[`7e20a99`](https://github.com/watermarkhu/mkdocstrings-github/commit/7e20a99bee878c598385d79b902bc9a9b59924cb))
|
|
17
|
+
|
|
18
|
+
- **deps**: Update pre-commit hook abravalheri/validate-pyproject to v0.25
|
|
19
|
+
([#50](https://github.com/watermarkhu/mkdocstrings-github/pull/50),
|
|
20
|
+
[`840303e`](https://github.com/watermarkhu/mkdocstrings-github/commit/840303e040c241645b0d86ebc9ed3668aba1ea6e))
|
|
21
|
+
|
|
22
|
+
### Continuous Integration
|
|
23
|
+
|
|
24
|
+
- **deps**: Update actions/checkout action to v6
|
|
25
|
+
([#49](https://github.com/watermarkhu/mkdocstrings-github/pull/49),
|
|
26
|
+
[`60860d7`](https://github.com/watermarkhu/mkdocstrings-github/commit/60860d7c03ba10c75959219c96faf8e2906586d5))
|
|
27
|
+
|
|
28
|
+
### Documentation
|
|
29
|
+
|
|
30
|
+
- Build with zensical ([#51](https://github.com/watermarkhu/mkdocstrings-github/pull/51),
|
|
31
|
+
[`da116f2`](https://github.com/watermarkhu/mkdocstrings-github/commit/da116f20d0c7eaef694a863542450dd313ca85bd))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## v0.7.0 (2026-01-13)
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- Workflow flowcharts ([#43](https://github.com/watermarkhu/mkdocstrings-github/pull/43),
|
|
39
|
+
[`f013ad8`](https://github.com/watermarkhu/mkdocstrings-github/commit/f013ad83add0b4d9ab04b634fc595891445a59c0))
|
|
40
|
+
|
|
41
|
+
### Testing
|
|
42
|
+
|
|
43
|
+
- Fix snapshots ([#43](https://github.com/watermarkhu/mkdocstrings-github/pull/43),
|
|
44
|
+
[`f013ad8`](https://github.com/watermarkhu/mkdocstrings-github/commit/f013ad83add0b4d9ab04b634fc595891445a59c0))
|
|
45
|
+
|
|
46
|
+
|
|
5
47
|
## v0.6.4 (2026-01-13)
|
|
6
48
|
|
|
7
49
|
### Chores
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# General options
|
|
2
|
+
|
|
3
|
+
??? info "Example action/workflow"
|
|
4
|
+
|
|
5
|
+
??? preview "compsite action `action.yaml`"
|
|
6
|
+
|
|
7
|
+
```yaml title="action.yaml"
|
|
8
|
+
--8<-- "action.yaml"
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
??? preview "reusable workflow `.github/workflows/example_workflow.yml`"
|
|
12
|
+
|
|
13
|
+
```yaml title=".github/workflows/example_workflow.yml"
|
|
14
|
+
--8<-- ".github/workflows/example_workflow.yml"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
::: mkdocstrings_handlers.github.config.GitHubOptions.show_description
|
|
19
|
+
handler: python
|
|
20
|
+
|
|
21
|
+
??? preview
|
|
22
|
+
|
|
23
|
+
=== "`show_description: true`"
|
|
24
|
+
|
|
25
|
+
::: .
|
|
26
|
+
options:
|
|
27
|
+
show_description: true
|
|
28
|
+
|
|
29
|
+
=== "`show_description: false`"
|
|
30
|
+
|
|
31
|
+
::: .
|
|
32
|
+
options:
|
|
33
|
+
show_description: false
|
|
34
|
+
|
|
35
|
+
::: mkdocstrings_handlers.github.config.GitHubOptions.description
|
|
36
|
+
handler: python
|
|
37
|
+
|
|
38
|
+
??? preview
|
|
39
|
+
|
|
40
|
+
=== "`description: ''`"
|
|
41
|
+
|
|
42
|
+
::: .
|
|
43
|
+
|
|
44
|
+
=== "`description: 'A custom description'`"
|
|
45
|
+
|
|
46
|
+
::: .
|
|
47
|
+
options:
|
|
48
|
+
description: 'A custom description'
|
|
49
|
+
|
|
50
|
+
::: mkdocstrings_handlers.github.config.GitHubOptions.show_source
|
|
51
|
+
handler: python
|
|
52
|
+
|
|
53
|
+
??? preview
|
|
54
|
+
|
|
55
|
+
=== "`show_source: true`"
|
|
56
|
+
|
|
57
|
+
::: .
|
|
58
|
+
options:
|
|
59
|
+
show_source: true
|
|
60
|
+
|
|
61
|
+
=== "`show_source: false`"
|
|
62
|
+
|
|
63
|
+
::: .
|
|
64
|
+
options:
|
|
65
|
+
show_source: false
|
|
66
|
+
|
|
67
|
+
::: mkdocstrings_handlers.github.config.GitHubOptions.workflow_chart
|
|
68
|
+
handler: python
|
|
69
|
+
|
|
70
|
+
In order to display the mermaid diagram, you'll need to setup the configuration for [Mermaid.js](https://mermaid.ai/) in [mkdocs-material](https://squidfunk.github.io/mkdocs-material/reference/diagrams/#configuration) or via [mkdocs-mermaid2](https://mkdocs-mermaid2.readthedocs.io). Following the instructions in the linked pages to configure your `mkdocs.yml`. Additionally, we recommend setting up [Panzoom for MkDocs](https://github.com/PLAYG0N/mkdocs-panzoom), which allows zooming into the displayed diagram.
|
|
71
|
+
|
|
72
|
+
In the output diagram, each step in a job is represented as a node, jobs are represented as groups, and dependencies between jobs are displayed as edges between groups. Steps that call actions are rounded. Jobs that call another workflow are shown as a subroutine. Jobs and steps without `name` are **omitted** from the graph.
|
|
73
|
+
|
|
74
|
+
```mermaid
|
|
75
|
+
flowchart TB
|
|
76
|
+
subgraph JobA
|
|
77
|
+
direction LR
|
|
78
|
+
a1(Checkout) --> a2["Shell step"]
|
|
79
|
+
end
|
|
80
|
+
subgraph JobB
|
|
81
|
+
direction LR
|
|
82
|
+
b1 --> b2
|
|
83
|
+
end
|
|
84
|
+
JobA -.-> JobB
|
|
85
|
+
JobB -.-> Workflow[["Workflow call"]]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
??? preview
|
|
89
|
+
|
|
90
|
+
=== "`workflow_chart: true`"
|
|
91
|
+
|
|
92
|
+
::: .github/workflows/example_workflow.yml
|
|
93
|
+
options:
|
|
94
|
+
workflow_chart: true
|
|
95
|
+
|
|
96
|
+
=== "`workflow_chart: false`"
|
|
97
|
+
|
|
98
|
+
::: .github/workflows/example_workflow.yml
|
|
99
|
+
options:
|
|
100
|
+
workflow_chart: false
|
|
101
|
+
|
|
102
|
+
::: mkdocstrings_handlers.github.config.GitHubOptions.workflow_chart_step_direction
|
|
103
|
+
handler: python
|
|
104
|
+
|
|
105
|
+
??? preview
|
|
106
|
+
|
|
107
|
+
=== "`workflow_chart_step_direction: 'TB'`"
|
|
108
|
+
|
|
109
|
+
::: .github/workflows/example_workflow.yml
|
|
110
|
+
options:
|
|
111
|
+
workflow_chart: true
|
|
112
|
+
workflow_chart_step_direction: 'TB'
|
|
113
|
+
|
|
114
|
+
=== "`workflow_chart_step_direction: 'LR'`"
|
|
115
|
+
|
|
116
|
+
::: .github/workflows/example_workflow.yml
|
|
117
|
+
options:
|
|
118
|
+
workflow_chart: true
|
|
119
|
+
workflow_chart_step_direction: 'LR'
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
## Installation
|
|
20
20
|
|
|
21
|
-
This package is extension
|
|
21
|
+
This package is an extension for [*mkdocstrings*](https://mkdocstrings.github.io/), a framework for auto-documentation within [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) or [Zensical](https://zensical.org/about/). Language support is inserted into the framework by providing *handlers*. The *mkdocstrings-github* package provides a GitHub handler.
|
|
22
22
|
|
|
23
23
|
--8<-- "README.md:install"
|
|
24
24
|
|
|
@@ -6,7 +6,7 @@ repo_name: watermarkhu/mkdocstrings-github
|
|
|
6
6
|
copyright: Copyright © 2025 Mark Shui Hu
|
|
7
7
|
edit_uri: edit/main/docs/
|
|
8
8
|
|
|
9
|
-
watch:
|
|
9
|
+
watch:
|
|
10
10
|
- mkdocs.yml
|
|
11
11
|
- README.md
|
|
12
12
|
- src/mkdocstrings_handlers
|
|
@@ -35,7 +35,6 @@ nav:
|
|
|
35
35
|
- mkdocstrings: https://mkdocstrings.github.io/
|
|
36
36
|
|
|
37
37
|
theme:
|
|
38
|
-
name: material
|
|
39
38
|
logo: img/logo.png
|
|
40
39
|
favicon: favicon.png
|
|
41
40
|
custom_dir: docs/overrides
|
|
@@ -99,13 +98,13 @@ markdown_extensions:
|
|
|
99
98
|
pygments_lang_class: true
|
|
100
99
|
- pymdownx.magiclink
|
|
101
100
|
- pymdownx.snippets:
|
|
102
|
-
base_path:
|
|
101
|
+
base_path: .
|
|
103
102
|
check_paths: true
|
|
104
103
|
- pymdownx.superfences:
|
|
105
104
|
custom_fences:
|
|
106
105
|
- name: mermaid
|
|
107
106
|
class: mermaid
|
|
108
|
-
format: !!python/name:
|
|
107
|
+
format: !!python/name:mermaid2.fence_mermaid_custom
|
|
109
108
|
- pymdownx.tabbed:
|
|
110
109
|
alternate_style: true
|
|
111
110
|
slugify: !!python/object/apply:pymdownx.slugs.slugify
|
|
@@ -121,6 +120,10 @@ plugins:
|
|
|
121
120
|
- callouts
|
|
122
121
|
- autorefs
|
|
123
122
|
- search
|
|
123
|
+
- mermaid2
|
|
124
|
+
- panzoom:
|
|
125
|
+
initial_zoom_level: 0.5
|
|
126
|
+
full_screen: true
|
|
124
127
|
- mkdocstrings:
|
|
125
128
|
default_handler: github
|
|
126
129
|
handlers:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mkdocstrings-github"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.7.1"
|
|
4
4
|
description = "A GitHub Action handler for mkdocstrings"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Mark Hu", email = "watermarkhu@gmail.com" }
|
|
@@ -36,7 +36,7 @@ dependencies = [
|
|
|
36
36
|
[dependency-groups]
|
|
37
37
|
dev = [
|
|
38
38
|
"ty~=0.0.11",
|
|
39
|
-
"ruff~=0.
|
|
39
|
+
"ruff~=0.15.0",
|
|
40
40
|
"prek>=0.2.1",
|
|
41
41
|
"pydantic~=2.12",
|
|
42
42
|
"pytest~=9.0.0",
|
|
@@ -46,13 +46,14 @@ dev = [
|
|
|
46
46
|
"python-semantic-release~=10.5.0",
|
|
47
47
|
]
|
|
48
48
|
docs = [
|
|
49
|
-
"mkdocs-material~=9.5",
|
|
50
49
|
"mkdocs-callouts~=1.15",
|
|
51
50
|
"mkdocs-git-revision-date-localized-plugin~=1.3",
|
|
52
51
|
"mkdocs-minify-plugin~=0.8",
|
|
53
52
|
"mkdocstrings-python~=2.0.0",
|
|
54
|
-
"mike~=2.1",
|
|
55
53
|
"griffe-pydantic~=1.2.0",
|
|
54
|
+
"mkdocs-mermaid2-plugin~=1.2.3",
|
|
55
|
+
"mkdocs-panzoom-plugin~=0.5.2",
|
|
56
|
+
"zensical>=0.0.15",
|
|
56
57
|
]
|
|
57
58
|
|
|
58
59
|
|
{mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/config.py
RENAMED
|
@@ -21,6 +21,7 @@ logger = get_logger(__name__)
|
|
|
21
21
|
SIGNATURE_VERSION = Literal["ref", "major", "semver", "string"]
|
|
22
22
|
PARAMETERS_ORDER = Literal["alphabetical", "source"]
|
|
23
23
|
PARAMETERS_SECTION_STYLE = Literal["table", "list"]
|
|
24
|
+
STEP_DIRECTION = Literal["TB", "LR"]
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
class GitHubOptions(BaseModel):
|
|
@@ -201,6 +202,26 @@ class GitHubOptions(BaseModel):
|
|
|
201
202
|
description="Whether to add anchors to parameters in the documentation.",
|
|
202
203
|
)
|
|
203
204
|
|
|
205
|
+
# Workflow chart option
|
|
206
|
+
workflow_chart: bool = Field(
|
|
207
|
+
default=False,
|
|
208
|
+
description="""Whether to generate a Mermaid flowchart for reusable workflows.
|
|
209
|
+
|
|
210
|
+
The flowchart displays the workflow's jobs and steps in a flowchart diagram.
|
|
211
|
+
Multiple jobs are rendered as subgraphs, and calls to other workflows are visually distinct.
|
|
212
|
+
The diagram is rendered client-side in the browser using mkdocs-mermaid2.
|
|
213
|
+
""",
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
workflow_chart_step_direction: STEP_DIRECTION = Field(
|
|
217
|
+
default="LR",
|
|
218
|
+
description="""The direction of the flowchart for steps within jobs.
|
|
219
|
+
|
|
220
|
+
- `TB`: top-to-bottom layout,
|
|
221
|
+
- `LR`: left-to-right layout.
|
|
222
|
+
""",
|
|
223
|
+
)
|
|
224
|
+
|
|
204
225
|
|
|
205
226
|
class GitHubConfig(BaseModel):
|
|
206
227
|
"""Configuration options for the GitHub handler."""
|
{mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/handler.py
RENAMED
|
@@ -173,6 +173,7 @@ class GitHubHandler(BaseHandler):
|
|
|
173
173
|
self.env.filters["group_parameters"] = rendering.group_parameters
|
|
174
174
|
self.env.filters["anchor_id"] = rendering.anchor_id
|
|
175
175
|
self.env.filters["as_string"] = rendering.as_string
|
|
176
|
+
self.env.filters["generate_mermaid_flowchart"] = rendering.generate_mermaid_flowchart
|
|
176
177
|
self.env.globals["semver_tag"] = self.semver
|
|
177
178
|
self.env.globals["major_tag"] = self.major
|
|
178
179
|
self.env.globals["git_repo"] = self.repo
|
|
@@ -235,11 +236,15 @@ def get_handler(
|
|
|
235
236
|
Returns:
|
|
236
237
|
GitHubHandler: An instance of GitHubHandler configured with the provided parameters.
|
|
237
238
|
"""
|
|
238
|
-
|
|
239
|
-
|
|
239
|
+
if tool_config.config_file_path is None:
|
|
240
|
+
root = Path.cwd()
|
|
241
|
+
else:
|
|
242
|
+
root = Path(tool_config.config_file_path).parent
|
|
243
|
+
repo = git.Repo(path=root, search_parent_directories=True)
|
|
244
|
+
config = GitHubConfig(**handler_config)
|
|
240
245
|
|
|
241
246
|
return GitHubHandler(
|
|
242
|
-
config=
|
|
247
|
+
config=config,
|
|
243
248
|
repo=repo,
|
|
244
249
|
**kwargs,
|
|
245
250
|
)
|
{mkdocstrings_github-0.6.4 → mkdocstrings_github-0.7.1}/src/mkdocstrings_handlers/github/objects.py
RENAMED
|
@@ -2,7 +2,7 @@ import re
|
|
|
2
2
|
from dataclasses import dataclass, field
|
|
3
3
|
from enum import Enum
|
|
4
4
|
from os import PathLike
|
|
5
|
-
from typing import Any, Literal
|
|
5
|
+
from typing import Any, Literal
|
|
6
6
|
|
|
7
7
|
from ruamel.yaml import YAML
|
|
8
8
|
from ruamel.yaml.comments import CommentedMap
|
|
@@ -35,7 +35,7 @@ class Input:
|
|
|
35
35
|
required: bool = False
|
|
36
36
|
type: Literal["boolean", "number", "string"] = "string"
|
|
37
37
|
default: bool | float | int | str | None = None
|
|
38
|
-
deprecationMessage:
|
|
38
|
+
deprecationMessage: str | None = None
|
|
39
39
|
group: str = ""
|
|
40
40
|
|
|
41
41
|
|
|
@@ -55,6 +55,31 @@ class Secret:
|
|
|
55
55
|
group: str = ""
|
|
56
56
|
|
|
57
57
|
|
|
58
|
+
@dataclass
|
|
59
|
+
class Step:
|
|
60
|
+
"""Represents a step within a job."""
|
|
61
|
+
|
|
62
|
+
name: str
|
|
63
|
+
uses: str = "" # For steps that use actions
|
|
64
|
+
run: str = "" # For steps that run commands
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@dataclass
|
|
68
|
+
class Job:
|
|
69
|
+
"""Represents a job within a workflow."""
|
|
70
|
+
|
|
71
|
+
id: str
|
|
72
|
+
name: str
|
|
73
|
+
uses: str | None
|
|
74
|
+
steps: list[Step] = field(default_factory=list)
|
|
75
|
+
needs: list[str] = field(default_factory=list) # Job dependencies
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def mermaid_id(self) -> str:
|
|
79
|
+
job_id_safe = self.id.replace("-", "_").replace(".", "_")
|
|
80
|
+
return f"job_{job_id_safe}"
|
|
81
|
+
|
|
82
|
+
|
|
58
83
|
def _get_member(d: dict, key: str, error_message: str = "", default: Any = None) -> Any:
|
|
59
84
|
if key not in d:
|
|
60
85
|
if default is not None:
|
|
@@ -164,6 +189,7 @@ class Workflow:
|
|
|
164
189
|
inputs: list[Input] = field(default_factory=list)
|
|
165
190
|
secrets: list[Secret] = field(default_factory=list)
|
|
166
191
|
outputs: list[Output] = field(default_factory=list)
|
|
192
|
+
jobs: dict[str, Job] = field(default_factory=dict)
|
|
167
193
|
template: Literal["workflow.html.jinja"] = "workflow.html.jinja"
|
|
168
194
|
|
|
169
195
|
@property
|
|
@@ -221,11 +247,11 @@ class Workflow:
|
|
|
221
247
|
workflow.permissions[key] = PermissionLevel.from_label(label)
|
|
222
248
|
else:
|
|
223
249
|
raise ValueError("permissions must be a string or a dictionary")
|
|
224
|
-
for
|
|
225
|
-
if isinstance(permissions :=
|
|
250
|
+
for job_id, job_data in data.get("jobs", {}).items():
|
|
251
|
+
if isinstance(permissions := job_data.get("permissions", {}), str):
|
|
226
252
|
set_all_permissions(permissions)
|
|
227
253
|
elif isinstance(permissions, dict):
|
|
228
|
-
for key, label in
|
|
254
|
+
for key, label in job_data.get("permissions", {}).items():
|
|
229
255
|
if key in workflow.permissions:
|
|
230
256
|
permission = PermissionLevel.from_label(label)
|
|
231
257
|
if permission > workflow.permissions[key]:
|
|
@@ -235,4 +261,29 @@ class Workflow:
|
|
|
235
261
|
else:
|
|
236
262
|
raise ValueError("permissions must be a string or a dictionary")
|
|
237
263
|
|
|
264
|
+
# Parse job information for flowchart
|
|
265
|
+
job = Job(id=job_id, name=job_data.get("name", job_id), uses=job_data.get("uses", None))
|
|
266
|
+
|
|
267
|
+
# Parse job dependencies
|
|
268
|
+
needs = job_data.get("needs", [])
|
|
269
|
+
if isinstance(needs, str):
|
|
270
|
+
job.needs = [needs]
|
|
271
|
+
elif isinstance(needs, list):
|
|
272
|
+
job.needs = needs
|
|
273
|
+
|
|
274
|
+
# Parse steps
|
|
275
|
+
for step_data in job_data.get("steps", []):
|
|
276
|
+
step_name = step_data.get("name", "")
|
|
277
|
+
step_uses = step_data.get("uses", "")
|
|
278
|
+
step_run = step_data.get("run", "")
|
|
279
|
+
|
|
280
|
+
step = Step(
|
|
281
|
+
name=step_name,
|
|
282
|
+
uses=step_uses,
|
|
283
|
+
run=step_run,
|
|
284
|
+
)
|
|
285
|
+
job.steps.append(step)
|
|
286
|
+
|
|
287
|
+
workflow.jobs[job.id] = job
|
|
288
|
+
|
|
238
289
|
return workflow
|