- name: generate hash
id: hash
run: cd dist && echo "hash=$(sha256sum * | base64 -w0)" >> $GITHUB_OUTPUT
- - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+ - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
path: ./dist
provenance:
id-token: write
steps:
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
- - uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3
+ - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3
with:
repository-url: https://test.pypi.org/legacy/
packages-dir: artifact/
- - uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3
+ - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3
with:
packages-dir: artifact/
cache: pip
cache-dependency-path: requirements*/*.txt
- name: cache mypy
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
+ uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./.mypy_cache
key: mypy|${{ hashFiles('pyproject.toml') }}
autoupdate_schedule: monthly
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.7.1
+ rev: v0.8.4
hooks:
- id: ruff
- id: ruff-format
#
build==1.2.2.post1
# via -r build.in
-packaging==24.1
+packaging==24.2
# via build
pyproject-hooks==1.2.0
# via build
#
alabaster==1.0.0
# via sphinx
-attrs==24.2.0
+attrs==24.3.0
# via
# outcome
# trio
# via pip-tools
cachetools==5.5.0
# via tox
-certifi==2024.8.30
+certifi==2024.12.14
# via requests
cfgv==3.4.0
# via pre-commit
# via
# tox
# virtualenv
-identify==2.6.1
+identify==2.6.3
# via pre-commit
idna==3.10
# via
# via sphinx
markupsafe==3.0.2
# via jinja2
-mypy==1.13.0
- # via -r typing.in
+mypy==1.14.0
+ # via -r /Users/david/Projects/jinja/requirements/typing.in
mypy-extensions==1.0.0
# via mypy
nodeenv==1.9.1
# via pre-commit
outcome==1.3.0.post0
# via trio
-packaging==24.1
+packaging==24.2
# via
# build
# pallets-sphinx-themes
# sphinx
# tox
pallets-sphinx-themes==2.3.0
- # via -r docs.in
-pip-compile-multi==2.6.4
+ # via -r /Users/david/Projects/jinja/requirements/docs.in
+pip-compile-multi==2.7.1
# via -r dev.in
pip-tools==7.4.1
# via pip-compile-multi
# via
# build
# pip-tools
-pytest==8.3.3
- # via -r tests.in
+pytest==8.3.4
+ # via -r /Users/david/Projects/jinja/requirements/tests.in
pyyaml==6.0.2
# via pre-commit
requests==2.32.3
# via trio
sphinx==8.1.3
# via
- # -r docs.in
+ # -r /Users/david/Projects/jinja/requirements/docs.in
# pallets-sphinx-themes
# sphinx-issues
# sphinx-notfound-page
# sphinxcontrib-log-cabinet
sphinx-issues==5.0.0
- # via -r docs.in
+ # via -r /Users/david/Projects/jinja/requirements/docs.in
sphinx-notfound-page==1.0.4
# via pallets-sphinx-themes
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-log-cabinet==1.0.1
- # via -r docs.in
+ # via -r /Users/david/Projects/jinja/requirements/docs.in
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==2.0.0
tox==4.23.2
# via -r dev.in
trio==0.27.0
- # via -r tests.in
+ # via -r /Users/david/Projects/jinja/requirements/tests.in
typing-extensions==4.12.2
# via mypy
urllib3==2.2.3
# via requests
-virtualenv==20.27.0
+virtualenv==20.28.0
# via
# pre-commit
# tox
-wheel==0.44.0
+wheel==0.45.1
# via pip-tools
# The following packages are considered to be unsafe in a requirements file:
# via sphinx
babel==2.16.0
# via sphinx
-certifi==2024.8.30
+certifi==2024.12.14
# via requests
charset-normalizer==3.4.0
# via requests
# via sphinx
markupsafe==3.0.2
# via jinja2
-packaging==24.1
+packaging==24.2
# via
# pallets-sphinx-themes
# sphinx
#
# pip-compile tests.in
#
-attrs==24.2.0
+attrs==24.3.0
# via
# outcome
# trio
# via pytest
outcome==1.3.0.post0
# via trio
-packaging==24.1
+packaging==24.2
# via pytest
pluggy==1.5.0
# via pytest
-pytest==8.3.3
+pytest==8.3.4
# via -r tests.in
sniffio==1.3.1
# via trio
#
# pip-compile typing.in
#
-mypy==1.13.0
+mypy==1.14.0
# via -r typing.in
mypy-extensions==1.0.0
# via mypy
self.message = message
self.error_class = cls
- def __call__(self, lineno: int, filename: str) -> "te.NoReturn":
+ def __call__(self, lineno: int, filename: t.Optional[str]) -> "te.NoReturn":
raise self.error_class(self.message, lineno, filename)
for idx, token in enumerate(tokens):
# failure group
- if token.__class__ is Failure:
+ if isinstance(token, Failure):
raise token(lineno, filename)
# bygroup is a bit more complex, in that case we
# yield for the current token the first named
data = groups[idx]
if data or token not in ignore_if_empty:
- yield lineno, token, data
+ yield lineno, token, data # type: ignore[misc]
lineno += data.count("\n") + newlines_stripped
newlines_stripped = 0