django-render-static 3.5.2__tar.gz → 3.6.0__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.
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/lint.yml +12 -21
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/release.yml +14 -13
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/scorecard.yml +7 -4
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/test.yml +55 -75
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/update_coc.yml +18 -15
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/workflows/zizmor.yml +4 -4
- django_render_static-3.6.0/.github/zizmor.yml +6 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/CLAUDE.md +1 -1
- {django_render_static-3.5.2 → django_render_static-3.6.0}/CODE_OF_CONDUCT.md +82 -7
- {django_render_static-3.5.2 → django_render_static-3.6.0}/PKG-INFO +6 -6
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/changelog.rst +12 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/justfile +2 -2
- {django_render_static-3.5.2 → django_render_static-3.6.0}/pyproject.toml +14 -15
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/__init__.py +1 -1
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/templatetags/render_static.py +27 -3
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/transpilers/enums_to_js.py +23 -7
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.codecov.yml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.gitattributes +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/CODEOWNERS +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.github/dependabot.yml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.gitignore +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/.pre-commit-config.yaml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/CONTRIBUTING.md +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/LICENSE +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/README.md +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/SECURITY.md +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/.readthedocs.yaml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/commands.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/conf.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/configuration.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/index.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/installation.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/migration.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/quick.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/backends.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/completers.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/context.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/engine.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/exceptions.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/index.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/loaders.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/origin.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/placeholders.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/resource.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/templatetags.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/transpilers/defines_to_js.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/transpilers/enums_to_js.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/transpilers/index.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/reference/transpilers/urls_to_js.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/runtimes.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/doc/source/templatetags.rst +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/backends/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/backends/base.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/backends/django.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/backends/jinja2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/context.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/engine.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/exceptions.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/loaders/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/loaders/django.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/loaders/jinja2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/loaders/mixins.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/loaders/utils.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/management/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/management/commands/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/management/commands/renderstatic.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/management/completers.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/origin.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/placeholders.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/resource.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/static_templates/render_static/defines.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/static_templates/render_static/enums.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/static_templates/render_static/urls.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/templatetags/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/transpilers/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/transpilers/base.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/transpilers/defines_to_js.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/src/render_static/transpilers/urls_to_js.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/defines.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/app1/html/app_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/batch_test/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/batch_test/{{ site_name }}/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/batch_test/{{ site_name }}/file1.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/batch_test/{{ site_name }}/file2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_jinja2/batch_test/{{ site_name }}/{{ sub_dir }}/.gitkeep +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/app1/html/base.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/app1/html/hello.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/app1/html/nominal1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/batch_test/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/batch_test/{{ site_name }}/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/batch_test/{{ site_name }}/file1.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/batch_test/{{ site_name }}/file2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/batch_test/{{ site_name }}/{{ sub_dir }}/.gitkeep +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/exclusive/template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/static_templates/exclusive/template6.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app1/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/custom_jinja2/app1/html/app_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/custom_templates/nominal_fs.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/custom_templates/nominal_fs2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_jinja2/app1/glob1.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_jinja2/app1/glob2.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_jinja2/app1/html/app_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_jinja2/app1/other.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_jinja2/app2/html/inheritance.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/app1/html/inheritance.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/app1/html/nominal1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/app1/html/nominal2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/exclusive/template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/exclusive/template2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/static_templates/exclusive/template5.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app2/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app3/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app3/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/app3/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/bad_pattern.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/batch_templates/file.txt +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/batch_templates/folder1/file1_1.txt +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/batch_templates/folder1/file1_2.txt +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/batch_templates/folder2/file2_1.txt +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/batch_templates/folder2/file2_2.txt +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/chain/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/chain/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/chain/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/conftest.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/context.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/defines.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/defines2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/empty_defines.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/defines.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/enums.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/migrations/0001_initial.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/migrations/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/models.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/static_templates/enum_app/enum.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/static_templates/enum_app/test.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/templatetags/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/templatetags/enum_test.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/enum_app/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/ex_urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/migrations/0001_initial.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/migrations/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/models.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static/examples/defines.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static/examples/enums.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static/examples/readme_url_usage.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static_templates/examples/defines.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static_templates/examples/enums.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/static_templates/examples/readme_url_usage.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/examples/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/HELLO_U.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app1_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app1_template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app1_template6.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app2_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app2_template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app2_template2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/app2_template5.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/ctx_override.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/ctx_override2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/ctx_override_cmdline.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/dest_override.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/glb2_template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/glb2_template4.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/glb_template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/glb_template2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/glb_template3.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/hello_l.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/inheritance.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/inheritance_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/multi_1_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/multi_2_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/nominal1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/nominal2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/nominal_fs.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/nominal_fs2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/nominal_jinja2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/expected/wildcard_test.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/js_reverse_urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/bad.json +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/bad.yaml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/bad_code.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/context.json +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/context.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/context.yaml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/context_embedded.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/resources/override.yaml +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/settings.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/apps.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/static_templates/spa/urls.js +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/templates/spa/index.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa/views.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/spa_urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/batch_fs_test0.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/batch_fs_test1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/exclusive/template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/exclusive/template2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/exclusive/template3.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/multi_test.jinja2 +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/nominal.jinja2 +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/nominal_fs.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates/subdir/batch_fs_test2.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates2/exclusive/template1.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/static_templates2/exclusive/template4.html +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_batch.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_batch_jinja2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_core.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_examples.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_jinja2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_js.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_traversal.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_web.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/test_yaml.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/traverse/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/traverse/models.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/traverse/module1.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/traverse/sub_pkg/__init__.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/traverse/sub_pkg/module2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls2.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls3.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls4.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls5.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls_bug_13.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls_bug_65.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls_default_args.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/urls_precedence.py +0 -0
- {django_render_static-3.5.2 → django_render_static-3.6.0}/tests/views.py +0 -0
|
@@ -27,46 +27,37 @@ jobs:
|
|
|
27
27
|
fail-fast: false
|
|
28
28
|
matrix:
|
|
29
29
|
# run static analysis on bleeding and trailing edges
|
|
30
|
-
python-version: ['3.
|
|
30
|
+
python-version: ['3.11', '3.15']
|
|
31
31
|
django-version:
|
|
32
|
-
- 'dj42' # LTS April 2026
|
|
33
32
|
- 'dj52' # LTS April 2028
|
|
34
|
-
- '
|
|
33
|
+
- 'dj61' # April 2027
|
|
35
34
|
exclude:
|
|
36
|
-
- python-version: '3.
|
|
37
|
-
django-version: '
|
|
38
|
-
- python-version: '3.
|
|
39
|
-
django-version: 'dj42'
|
|
40
|
-
|
|
41
|
-
- python-version: '3.10'
|
|
42
|
-
django-version: 'dj52'
|
|
43
|
-
- python-version: '3.14'
|
|
35
|
+
- python-version: '3.11'
|
|
36
|
+
django-version: 'dj61'
|
|
37
|
+
- python-version: '3.15'
|
|
44
38
|
django-version: 'dj52'
|
|
45
39
|
|
|
46
|
-
- python-version: '3.10'
|
|
47
|
-
django-version: 'dj60'
|
|
48
|
-
- python-version: '3.12'
|
|
49
|
-
django-version: 'dj60'
|
|
50
|
-
|
|
51
40
|
env:
|
|
52
41
|
TEST_PYTHON_VERSION: ${{ matrix.python-version }}
|
|
53
42
|
TEST_DJANGO_VERSION: ${{ matrix.django-version }}
|
|
54
43
|
|
|
55
44
|
steps:
|
|
56
|
-
- uses: actions/checkout@
|
|
45
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
57
46
|
with:
|
|
58
47
|
persist-credentials: false
|
|
59
48
|
- name: Set up Python ${{ matrix.python-version }}
|
|
60
|
-
uses: actions/setup-python@
|
|
49
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
61
50
|
id: sp
|
|
62
51
|
with:
|
|
63
52
|
python-version: ${{ matrix.python-version }}
|
|
64
53
|
allow-prereleases: true
|
|
65
54
|
|
|
66
55
|
- name: Install Just
|
|
67
|
-
uses: extractions/setup-just@
|
|
56
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
57
|
+
with:
|
|
58
|
+
just-version: '1.58.0'
|
|
68
59
|
- name: Install uv
|
|
69
|
-
uses: astral-sh/setup-uv@
|
|
60
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
70
61
|
with:
|
|
71
62
|
enable-cache: false
|
|
72
63
|
- name: Install Emacs
|
|
@@ -75,7 +66,7 @@ jobs:
|
|
|
75
66
|
sudo apt install emacs
|
|
76
67
|
- name: Setup tmate session
|
|
77
68
|
if: ${{ github.event.inputs.debug == 'true' }}
|
|
78
|
-
uses: mxschmitt/action-tmate@
|
|
69
|
+
uses: mxschmitt/action-tmate@35b54afac29c97fb54faba5b513f8fbd1882f113
|
|
79
70
|
timeout-minutes: 60
|
|
80
71
|
- name: Run Static Analysis
|
|
81
72
|
env:
|
|
@@ -19,15 +19,14 @@ jobs:
|
|
|
19
19
|
permissions:
|
|
20
20
|
contents: read
|
|
21
21
|
actions: write
|
|
22
|
-
uses:
|
|
22
|
+
uses: $/.github/workflows/lint.yml
|
|
23
23
|
|
|
24
24
|
test:
|
|
25
25
|
permissions:
|
|
26
26
|
contents: read
|
|
27
27
|
actions: write
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
28
|
+
id-token: write
|
|
29
|
+
uses: $/.github/workflows/test.yml
|
|
31
30
|
|
|
32
31
|
build:
|
|
33
32
|
name: Build Package
|
|
@@ -39,22 +38,24 @@ jobs:
|
|
|
39
38
|
PACKAGE_NAME: ${{ steps.set-package.outputs.package_name }}
|
|
40
39
|
RELEASE_VERSION: ${{ steps.set-package.outputs.release_version }}
|
|
41
40
|
steps:
|
|
42
|
-
- uses: actions/checkout@
|
|
41
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
43
42
|
with:
|
|
44
43
|
persist-credentials: false
|
|
45
44
|
- name: Set up Python
|
|
46
|
-
uses: actions/setup-python@
|
|
45
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
47
46
|
with:
|
|
48
47
|
python-version: "3.14"
|
|
49
48
|
allow-prereleases: true
|
|
50
49
|
- name: Install uv
|
|
51
|
-
uses: astral-sh/setup-uv@
|
|
50
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
52
51
|
with:
|
|
53
52
|
enable-cache: false
|
|
54
53
|
restore-cache: false
|
|
55
54
|
save-cache: false
|
|
56
55
|
- name: Setup Just
|
|
57
|
-
uses: extractions/setup-just@
|
|
56
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
57
|
+
with:
|
|
58
|
+
just-version: '1.58.0'
|
|
58
59
|
- name: Verify Tag
|
|
59
60
|
run: |
|
|
60
61
|
TAG_NAME=${GITHUB_REF#refs/tags/}
|
|
@@ -75,7 +76,7 @@ jobs:
|
|
|
75
76
|
- name: Build the binary wheel and a source tarball
|
|
76
77
|
run: just build
|
|
77
78
|
- name: Store the distribution packages
|
|
78
|
-
uses: actions/upload-artifact@
|
|
79
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
79
80
|
with:
|
|
80
81
|
name: python-package-distributions
|
|
81
82
|
path: dist/
|
|
@@ -99,12 +100,12 @@ jobs:
|
|
|
99
100
|
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
100
101
|
steps:
|
|
101
102
|
- name: Download all the dists
|
|
102
|
-
uses: actions/download-artifact@
|
|
103
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
|
|
103
104
|
with:
|
|
104
105
|
name: python-package-distributions
|
|
105
106
|
path: dist/
|
|
106
107
|
- name: Publish distribution to PyPI
|
|
107
|
-
uses: pypa/gh-action-pypi-publish@
|
|
108
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33
|
|
108
109
|
|
|
109
110
|
github-release:
|
|
110
111
|
name: Publish GitHub Release
|
|
@@ -119,12 +120,12 @@ jobs:
|
|
|
119
120
|
|
|
120
121
|
steps:
|
|
121
122
|
- name: Download all the dists
|
|
122
|
-
uses: actions/download-artifact@
|
|
123
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
|
|
123
124
|
with:
|
|
124
125
|
name: python-package-distributions
|
|
125
126
|
path: dist/
|
|
126
127
|
- name: Sign the dists with Sigstore
|
|
127
|
-
uses: sigstore/gh-action-sigstore-python@
|
|
128
|
+
uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9
|
|
128
129
|
with:
|
|
129
130
|
inputs: >-
|
|
130
131
|
./dist/*.tar.gz
|
|
@@ -15,18 +15,21 @@ jobs:
|
|
|
15
15
|
analysis:
|
|
16
16
|
name: Scorecard analysis
|
|
17
17
|
runs-on: ubuntu-latest
|
|
18
|
+
environment:
|
|
19
|
+
name: scorecard
|
|
20
|
+
deployment: false # Prevents creating a GitHub deployment object
|
|
18
21
|
permissions:
|
|
19
22
|
security-events: write
|
|
20
23
|
id-token: write
|
|
21
24
|
|
|
22
25
|
steps:
|
|
23
26
|
- name: "Checkout code"
|
|
24
|
-
uses: actions/checkout@
|
|
27
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
25
28
|
with:
|
|
26
29
|
persist-credentials: false
|
|
27
30
|
|
|
28
31
|
- name: "Run analysis"
|
|
29
|
-
uses: ossf/scorecard-action@
|
|
32
|
+
uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc
|
|
30
33
|
with:
|
|
31
34
|
results_file: results.sarif
|
|
32
35
|
results_format: sarif
|
|
@@ -48,7 +51,7 @@ jobs:
|
|
|
48
51
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
|
49
52
|
# format to the repository Actions tab.
|
|
50
53
|
- name: "Upload artifact"
|
|
51
|
-
uses: actions/upload-artifact@
|
|
54
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
52
55
|
with:
|
|
53
56
|
name: SARIF file
|
|
54
57
|
path: results.sarif
|
|
@@ -57,6 +60,6 @@ jobs:
|
|
|
57
60
|
# Upload the results to GitHub's code scanning dashboard (optional).
|
|
58
61
|
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
|
59
62
|
- name: "Upload to code-scanning"
|
|
60
|
-
uses: github/codeql-action/upload-sarif@
|
|
63
|
+
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938
|
|
61
64
|
with:
|
|
62
65
|
sarif_file: results.sarif
|
|
@@ -17,9 +17,6 @@ on:
|
|
|
17
17
|
- "pyproject.toml"
|
|
18
18
|
- "justfile"
|
|
19
19
|
workflow_call:
|
|
20
|
-
secrets:
|
|
21
|
-
CODECOV_TOKEN:
|
|
22
|
-
required: true
|
|
23
20
|
workflow_dispatch:
|
|
24
21
|
inputs:
|
|
25
22
|
debug:
|
|
@@ -42,21 +39,15 @@ jobs:
|
|
|
42
39
|
strategy:
|
|
43
40
|
fail-fast: false
|
|
44
41
|
matrix:
|
|
45
|
-
python-version: ['3.
|
|
42
|
+
python-version: ['3.11', '3.12', '3.13', '3.14', '3.15']
|
|
46
43
|
django-version:
|
|
47
|
-
- 'dj42' # LTS April 2026
|
|
48
44
|
- 'dj52' # LTS April 2028
|
|
49
|
-
- '
|
|
45
|
+
- 'dj61' # April 2027
|
|
50
46
|
exclude:
|
|
51
|
-
- python-version: '3.13'
|
|
52
|
-
django-version: 'dj42'
|
|
53
|
-
- python-version: '3.14'
|
|
54
|
-
django-version: 'dj42'
|
|
55
|
-
|
|
56
|
-
- python-version: '3.10'
|
|
57
|
-
django-version: 'dj60'
|
|
58
47
|
- python-version: '3.11'
|
|
59
|
-
django-version: '
|
|
48
|
+
django-version: 'dj61'
|
|
49
|
+
- python-version: '3.15'
|
|
50
|
+
django-version: 'dj52'
|
|
60
51
|
|
|
61
52
|
env:
|
|
62
53
|
COVERAGE_FILE: linux-py${{ matrix.python-version }}-${{ matrix.django-version }}.coverage
|
|
@@ -65,19 +56,21 @@ jobs:
|
|
|
65
56
|
TEST_DJANGO_VERSION: ${{ matrix.django-version }}
|
|
66
57
|
|
|
67
58
|
steps:
|
|
68
|
-
- uses: actions/checkout@
|
|
59
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
69
60
|
with:
|
|
70
61
|
persist-credentials: false
|
|
71
62
|
- name: Set up Python ${{ matrix.python-version }}
|
|
72
|
-
uses: actions/setup-python@
|
|
63
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
73
64
|
id: sp
|
|
74
65
|
with:
|
|
75
66
|
python-version: ${{ matrix.python-version }}
|
|
76
67
|
allow-prereleases: true
|
|
77
68
|
- name: Setup Just
|
|
78
|
-
uses: extractions/setup-just@
|
|
69
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
70
|
+
with:
|
|
71
|
+
just-version: '1.58.0'
|
|
79
72
|
- name: Install uv
|
|
80
|
-
uses: astral-sh/setup-uv@
|
|
73
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
81
74
|
with:
|
|
82
75
|
enable-cache: false
|
|
83
76
|
- name: Install Emacs
|
|
@@ -86,7 +79,7 @@ jobs:
|
|
|
86
79
|
sudo apt install emacs
|
|
87
80
|
- name: Setup tmate session
|
|
88
81
|
if: ${{ github.event.inputs.debug == 'true' }}
|
|
89
|
-
uses: mxschmitt/action-tmate@
|
|
82
|
+
uses: mxschmitt/action-tmate@35b54afac29c97fb54faba5b513f8fbd1882f113
|
|
90
83
|
with:
|
|
91
84
|
detached: true
|
|
92
85
|
timeout-minutes: 60
|
|
@@ -97,12 +90,12 @@ jobs:
|
|
|
97
90
|
just test-all -p "$TEST_PYTHON" --group "$TEST_DJANGO_VERSION"
|
|
98
91
|
|
|
99
92
|
- name: Store coverage files
|
|
100
|
-
uses: actions/upload-artifact@
|
|
93
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
101
94
|
with:
|
|
102
95
|
name: ${{ env.COVERAGE_FILE }}
|
|
103
96
|
path: ${{ env.COVERAGE_FILE }}
|
|
104
97
|
- name: Store env files
|
|
105
|
-
uses: actions/upload-artifact@
|
|
98
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
106
99
|
with:
|
|
107
100
|
name: ${{ env.ENV_FILE }}
|
|
108
101
|
path: requirements-test*.txt
|
|
@@ -114,27 +107,16 @@ jobs:
|
|
|
114
107
|
strategy:
|
|
115
108
|
fail-fast: false
|
|
116
109
|
matrix:
|
|
117
|
-
python-version: ['3.
|
|
110
|
+
python-version: ['3.11', '3.15']
|
|
118
111
|
django-version:
|
|
119
|
-
- 'dj42' # LTS April 2026
|
|
120
112
|
- 'dj52' # LTS April 2028
|
|
121
|
-
- '
|
|
113
|
+
- 'dj61' # April 2027
|
|
122
114
|
exclude:
|
|
123
|
-
- python-version: '3.
|
|
124
|
-
django-version: '
|
|
125
|
-
- python-version: '3.
|
|
126
|
-
django-version: 'dj42'
|
|
127
|
-
|
|
128
|
-
- python-version: '3.10'
|
|
129
|
-
django-version: 'dj52'
|
|
130
|
-
- python-version: '3.14'
|
|
115
|
+
- python-version: '3.11'
|
|
116
|
+
django-version: 'dj61'
|
|
117
|
+
- python-version: '3.15'
|
|
131
118
|
django-version: 'dj52'
|
|
132
119
|
|
|
133
|
-
- python-version: '3.10'
|
|
134
|
-
django-version: 'dj60'
|
|
135
|
-
- python-version: '3.12'
|
|
136
|
-
django-version: 'dj60'
|
|
137
|
-
|
|
138
120
|
env:
|
|
139
121
|
COVERAGE_FILE: macos-py${{ matrix.python-version }}-${{ matrix.django-version }}.coverage
|
|
140
122
|
ENV_FILE: macos-py${{ matrix.python-version }}-${{ matrix.django-version }}
|
|
@@ -142,19 +124,21 @@ jobs:
|
|
|
142
124
|
TEST_DJANGO_VERSION: ${{ matrix.django-version }}
|
|
143
125
|
|
|
144
126
|
steps:
|
|
145
|
-
- uses: actions/checkout@
|
|
127
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
146
128
|
with:
|
|
147
129
|
persist-credentials: false
|
|
148
130
|
- name: Set up Python ${{ matrix.python-version }}
|
|
149
|
-
uses: actions/setup-python@
|
|
131
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
150
132
|
id: sp
|
|
151
133
|
with:
|
|
152
134
|
python-version: ${{ matrix.python-version }}
|
|
153
135
|
allow-prereleases: true
|
|
154
136
|
- name: Setup Just
|
|
155
|
-
uses: extractions/setup-just@
|
|
137
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
138
|
+
with:
|
|
139
|
+
just-version: '1.58.0'
|
|
156
140
|
- name: Install uv
|
|
157
|
-
uses: astral-sh/setup-uv@
|
|
141
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
158
142
|
with:
|
|
159
143
|
enable-cache: false
|
|
160
144
|
- name: install-emacs-macos
|
|
@@ -163,7 +147,7 @@ jobs:
|
|
|
163
147
|
brew install emacs
|
|
164
148
|
- name: Setup tmate session
|
|
165
149
|
if: ${{ github.event.inputs.debug == 'true' }}
|
|
166
|
-
uses: mxschmitt/action-tmate@
|
|
150
|
+
uses: mxschmitt/action-tmate@35b54afac29c97fb54faba5b513f8fbd1882f113
|
|
167
151
|
with:
|
|
168
152
|
detached: true
|
|
169
153
|
timeout-minutes: 60
|
|
@@ -174,12 +158,12 @@ jobs:
|
|
|
174
158
|
just test-all -p "$TEST_PYTHON" --group "$TEST_DJANGO_VERSION"
|
|
175
159
|
|
|
176
160
|
- name: Store coverage files
|
|
177
|
-
uses: actions/upload-artifact@
|
|
161
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
178
162
|
with:
|
|
179
163
|
name: ${{ env.COVERAGE_FILE }}
|
|
180
164
|
path: ${{ env.COVERAGE_FILE }}
|
|
181
165
|
- name: Store env files
|
|
182
|
-
uses: actions/upload-artifact@
|
|
166
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
183
167
|
with:
|
|
184
168
|
name: ${{ env.ENV_FILE }}
|
|
185
169
|
path: requirements-test*.txt
|
|
@@ -194,27 +178,16 @@ jobs:
|
|
|
194
178
|
strategy:
|
|
195
179
|
fail-fast: false
|
|
196
180
|
matrix:
|
|
197
|
-
python-version: ['3.
|
|
181
|
+
python-version: ['3.11', '3.15']
|
|
198
182
|
django-version:
|
|
199
|
-
- 'dj42' # LTS April 2026
|
|
200
183
|
- 'dj52' # LTS April 2028
|
|
201
|
-
- '
|
|
184
|
+
- 'dj61' # April 2027
|
|
202
185
|
exclude:
|
|
203
|
-
- python-version: '3.
|
|
204
|
-
django-version: '
|
|
205
|
-
- python-version: '3.
|
|
206
|
-
django-version: 'dj42'
|
|
207
|
-
|
|
208
|
-
- python-version: '3.10'
|
|
209
|
-
django-version: 'dj52'
|
|
210
|
-
- python-version: '3.14'
|
|
186
|
+
- python-version: '3.11'
|
|
187
|
+
django-version: 'dj61'
|
|
188
|
+
- python-version: '3.15'
|
|
211
189
|
django-version: 'dj52'
|
|
212
190
|
|
|
213
|
-
- python-version: '3.10'
|
|
214
|
-
django-version: 'dj60'
|
|
215
|
-
- python-version: '3.12'
|
|
216
|
-
django-version: 'dj60'
|
|
217
|
-
|
|
218
191
|
env:
|
|
219
192
|
COVERAGE_FILE: windows-py${{ matrix.python-version }}-${{ matrix.django-version }}.coverage
|
|
220
193
|
ENV_FILE: windows-py${{ matrix.python-version }}-${{ matrix.django-version }}
|
|
@@ -222,27 +195,29 @@ jobs:
|
|
|
222
195
|
TEST_DJANGO_VERSION: ${{ matrix.django-version }}
|
|
223
196
|
|
|
224
197
|
steps:
|
|
225
|
-
- uses: actions/checkout@
|
|
198
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
226
199
|
with:
|
|
227
200
|
persist-credentials: false
|
|
228
201
|
- name: Set up Python ${{ matrix.python-version }}
|
|
229
|
-
uses: actions/setup-python@
|
|
202
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
230
203
|
id: sp
|
|
231
204
|
with:
|
|
232
205
|
python-version: ${{ matrix.python-version }}
|
|
233
206
|
allow-prereleases: true
|
|
234
207
|
- name: Setup Just
|
|
235
|
-
uses: extractions/setup-just@
|
|
208
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
209
|
+
with:
|
|
210
|
+
just-version: '1.58.0'
|
|
236
211
|
- name: Install uv
|
|
237
|
-
uses: astral-sh/setup-uv@
|
|
212
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
238
213
|
with:
|
|
239
214
|
enable-cache: false
|
|
240
215
|
- name: install-vim-windows
|
|
241
216
|
if: ${{ github.event.inputs.debug == 'true' }}
|
|
242
|
-
uses: rhysd/action-setup-vim@
|
|
217
|
+
uses: rhysd/action-setup-vim@febef33995d6649302e9d88dda81e071b68f16a7
|
|
243
218
|
- name: Setup tmate session
|
|
244
219
|
if: ${{ github.event.inputs.debug == 'true' }}
|
|
245
|
-
uses: mxschmitt/action-tmate@
|
|
220
|
+
uses: mxschmitt/action-tmate@35b54afac29c97fb54faba5b513f8fbd1882f113
|
|
246
221
|
with:
|
|
247
222
|
detached: true
|
|
248
223
|
timeout-minutes: 60
|
|
@@ -254,12 +229,12 @@ jobs:
|
|
|
254
229
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
255
230
|
|
|
256
231
|
- name: Store coverage files
|
|
257
|
-
uses: actions/upload-artifact@
|
|
232
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
258
233
|
with:
|
|
259
234
|
name: ${{ env.COVERAGE_FILE }}
|
|
260
235
|
path: ${{ env.COVERAGE_FILE }}
|
|
261
236
|
- name: Store env files
|
|
262
|
-
uses: actions/upload-artifact@
|
|
237
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
263
238
|
with:
|
|
264
239
|
name: ${{ env.ENV_FILE }}
|
|
265
240
|
path: requirements-test*.txt
|
|
@@ -267,21 +242,26 @@ jobs:
|
|
|
267
242
|
coverage-combine:
|
|
268
243
|
needs: [test-linux, test-macos, test-windows]
|
|
269
244
|
runs-on: ubuntu-latest
|
|
245
|
+
permissions:
|
|
246
|
+
contents: read
|
|
247
|
+
id-token: write
|
|
270
248
|
|
|
271
249
|
steps:
|
|
272
|
-
- uses: actions/checkout@
|
|
250
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
273
251
|
with:
|
|
274
252
|
persist-credentials: false
|
|
275
|
-
- uses: actions/setup-python@
|
|
253
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
276
254
|
id: sp
|
|
277
255
|
with:
|
|
278
256
|
python-version: '3.14'
|
|
279
257
|
allow-prereleases: true
|
|
280
258
|
|
|
281
259
|
- name: Setup Just
|
|
282
|
-
uses: extractions/setup-just@
|
|
260
|
+
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3
|
|
261
|
+
with:
|
|
262
|
+
just-version: '1.58.0'
|
|
283
263
|
- name: Install uv
|
|
284
|
-
uses: astral-sh/setup-uv@
|
|
264
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d
|
|
285
265
|
with:
|
|
286
266
|
enable-cache: false
|
|
287
267
|
- name: Setup venv
|
|
@@ -291,7 +271,7 @@ jobs:
|
|
|
291
271
|
just setup "$TEST_PYTHON"
|
|
292
272
|
|
|
293
273
|
- name: Get coverage files
|
|
294
|
-
uses: actions/download-artifact@
|
|
274
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
|
|
295
275
|
with:
|
|
296
276
|
pattern: "*.coverage"
|
|
297
277
|
merge-multiple: true
|
|
@@ -299,8 +279,8 @@ jobs:
|
|
|
299
279
|
- run: just coverage
|
|
300
280
|
|
|
301
281
|
- name: Upload coverage to Codecov
|
|
302
|
-
uses: codecov/codecov-action@
|
|
282
|
+
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f
|
|
303
283
|
with:
|
|
304
|
-
|
|
284
|
+
use_oidc: true
|
|
305
285
|
files:
|
|
306
286
|
./coverage.xml
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
name: Update Code of Conduct
|
|
2
2
|
|
|
3
|
-
permissions:
|
|
3
|
+
permissions:
|
|
4
|
+
contents: read
|
|
5
|
+
|
|
6
|
+
concurrency:
|
|
7
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
8
|
+
cancel-in-progress: true
|
|
4
9
|
|
|
5
10
|
on:
|
|
6
11
|
workflow_dispatch:
|
|
7
12
|
# Run every Sunday at midnight UTC (00:00) - triggered by webhook?
|
|
8
13
|
schedule:
|
|
9
|
-
- cron:
|
|
10
|
-
|
|
14
|
+
- cron: "0 0 * * SUN"
|
|
11
15
|
|
|
12
16
|
jobs:
|
|
13
17
|
update_code_of_conduct:
|
|
14
18
|
permissions:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
pull-requests: write
|
|
19
|
+
contents: write # needed for CoC PR
|
|
20
|
+
pull-requests: write # needed for CoC PR
|
|
18
21
|
|
|
19
22
|
runs-on: ubuntu-latest
|
|
20
23
|
|
|
21
24
|
steps:
|
|
22
25
|
- name: Checkout repository
|
|
23
|
-
uses: actions/checkout@
|
|
26
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
24
27
|
with:
|
|
25
28
|
persist-credentials: false
|
|
26
29
|
|
|
@@ -43,12 +46,12 @@ jobs:
|
|
|
43
46
|
# Create a pull request to merge the changes into the main branch
|
|
44
47
|
- name: Create Pull Request
|
|
45
48
|
if: steps.check_changes.outputs.changed == 'true'
|
|
46
|
-
uses: peter-evans/create-pull-request@
|
|
49
|
+
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1
|
|
47
50
|
with:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
52
|
+
branch: bot-update-coc
|
|
53
|
+
add-paths: |
|
|
54
|
+
CODE_OF_CONDUCT.md
|
|
55
|
+
title: "🤖 Update Code of Conduct 🤖"
|
|
56
|
+
body: "Update the Code of Conduct with the latest version from the django-commons repository."
|
|
57
|
+
commit-message: "Update CODE_OF_CONDUCT.md from django-commons"
|
|
@@ -24,12 +24,12 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
steps:
|
|
26
26
|
- name: Checkout repository
|
|
27
|
-
uses: actions/checkout@
|
|
27
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
28
28
|
with:
|
|
29
29
|
persist-credentials: false
|
|
30
30
|
|
|
31
31
|
- name: Set up Rust
|
|
32
|
-
uses: actions-rust-lang/setup-rust-toolchain@
|
|
32
|
+
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659
|
|
33
33
|
- name: Install jq
|
|
34
34
|
run: |
|
|
35
35
|
sudo apt-get update
|
|
@@ -43,14 +43,14 @@ jobs:
|
|
|
43
43
|
zizmor --format sarif .github/workflows/ > zizmor.sarif
|
|
44
44
|
|
|
45
45
|
- name: Upload analysis results
|
|
46
|
-
uses: actions/upload-artifact@
|
|
46
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
|
|
47
47
|
with:
|
|
48
48
|
name: zizmor-results
|
|
49
49
|
path: zizmor.sarif
|
|
50
50
|
retention-days: 7
|
|
51
51
|
|
|
52
52
|
- name: Upload to code-scanning
|
|
53
|
-
uses: github/codeql-action/upload-sarif@
|
|
53
|
+
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938
|
|
54
54
|
with:
|
|
55
55
|
sarif_file: zizmor.sarif
|
|
56
56
|
|
|
@@ -28,7 +28,7 @@ just manage <cmd> # run Django management commands using tests.settings
|
|
|
28
28
|
|
|
29
29
|
Tests use `pytest-django` with `DJANGO_SETTINGS_MODULE=tests.settings`. The `just test-all` recipe runs the suite twice in isolated venvs: once with all optional extras (PyYAML, Jinja2) and once without.
|
|
30
30
|
|
|
31
|
-
In CI, Django version matrix entries are `
|
|
31
|
+
In CI, Django version matrix entries are `dj52`/`dj61` — these map to `[dependency-groups]` in `pyproject.toml` and are passed as `--group` flags to `uv run --isolated`. No `test-lock` or venv mutation is needed.
|
|
32
32
|
|
|
33
33
|
100% code coverage is required before PRs are accepted.
|
|
34
34
|
|