From fbd161796ecaa46f829bdf713611d4122e735480 Mon Sep 17 00:00:00 2001 From: saltiyazan Date: Wed, 31 Jan 2024 17:51:01 +0400 Subject: [PATCH] chore: Uses pip-tools and dependabot to manage dependencies and versions (#30) --- .github/dependabot.yml | 15 +++ .github/workflows/main.yaml | 2 - renovate.json | 6 - requirements.in | 4 + requirements.txt | 40 +++++- test-requirements.in | 17 +++ test-requirements.txt | 250 +++++++++++++++++++++++++++++++++--- 7 files changed, 301 insertions(+), 33 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 renovate.json create mode 100644 requirements.in create mode 100644 test-requirements.in diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8d0d095 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "chore: " + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "chore: " diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 6e39212..c1fe46e 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -50,8 +50,6 @@ jobs: uses: actions/checkout@v4 - name: Setup LXD uses: canonical/setup-lxd@main - with: - channel: 5.17/stable - name: Setup operator environment uses: charmed-kubernetes/actions-operator@main with: diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 39a2b6e..0000000 --- a/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ] -} diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..cb02b74 --- /dev/null +++ b/requirements.in @@ -0,0 +1,4 @@ +ops +jsonschema +cryptography +parameterized diff --git a/requirements.txt b/requirements.txt index cb02b74..cef7c7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,36 @@ -ops -jsonschema -cryptography -parameterized +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile requirements.in +# +attrs==23.2.0 + # via + # jsonschema + # referencing +cffi==1.16.0 + # via cryptography +cryptography==42.0.1 + # via -r requirements.in +jsonschema==4.21.1 + # via -r requirements.in +jsonschema-specifications==2023.12.1 + # via jsonschema +ops==2.9.0 + # via -r requirements.in +parameterized==0.9.0 + # via -r requirements.in +pycparser==2.21 + # via cffi +pyyaml==6.0.1 + # via ops +referencing==0.32.1 + # via + # jsonschema + # jsonschema-specifications +rpds-py==0.17.1 + # via + # jsonschema + # referencing +websocket-client==1.7.0 + # via ops diff --git a/test-requirements.in b/test-requirements.in new file mode 100644 index 0000000..d7c2246 --- /dev/null +++ b/test-requirements.in @@ -0,0 +1,17 @@ +black +codespell +coverage[toml] +flake8 ==6.1.0 +flake8-copyright +flake8-builtins +flake8-docstrings +isort +juju +mypy +pep8-naming +pyproject-flake8 +pytest +pytest-operator +types-PyYAML +types-setuptools +types-toml diff --git a/test-requirements.txt b/test-requirements.txt index 2e48f1f..ab0b08f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,21 +1,229 @@ -black -codespell -coverage[toml] -cryptography -flake8 ==6.1.0 -flake8-copyright -flake8-builtins -flake8-docstrings -isort -jsonschema -juju -mypy -ops -parameterized -pep8-naming -pyproject-flake8 -pytest -pytest-operator -types-PyYAML -types-setuptools -types-toml +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --constraint=requirements.txt test-requirements.in +# +asttokens==2.4.1 + # via stack-data +bcrypt==4.1.2 + # via paramiko +black==24.1.0 + # via -r test-requirements.in +cachetools==5.3.2 + # via google-auth +certifi==2023.11.17 + # via + # kubernetes + # requests +cffi==1.16.0 + # via + # -c requirements.txt + # cryptography + # pynacl +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via black +codespell==2.2.6 + # via -r test-requirements.in +coverage[toml]==7.4.0 + # via -r test-requirements.in +cryptography==42.0.1 + # via + # -c requirements.txt + # paramiko +decorator==5.1.1 + # via + # ipdb + # ipython +executing==2.0.1 + # via stack-data +flake8==6.1.0 + # via + # -r test-requirements.in + # flake8-builtins + # flake8-docstrings + # pep8-naming + # pyproject-flake8 +flake8-builtins==2.2.0 + # via -r test-requirements.in +flake8-copyright==0.2.4 + # via -r test-requirements.in +flake8-docstrings==1.7.0 + # via -r test-requirements.in +google-auth==2.27.0 + # via kubernetes +hvac==2.1.0 + # via juju +idna==3.6 + # via requests +iniconfig==2.0.0 + # via pytest +ipdb==0.13.13 + # via pytest-operator +ipython==8.20.0 + # via ipdb +isort==5.13.2 + # via -r test-requirements.in +jedi==0.19.1 + # via ipython +jinja2==3.1.3 + # via pytest-operator +juju==3.3.0.0 + # via + # -r test-requirements.in + # pytest-operator +kubernetes==29.0.0 + # via juju +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.4 + # via jinja2 +matplotlib-inline==0.1.6 + # via ipython +mccabe==0.7.0 + # via flake8 +mypy==1.8.0 + # via -r test-requirements.in +mypy-extensions==1.0.0 + # via + # black + # mypy + # typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +packaging==23.2 + # via + # black + # pytest +paramiko==2.12.0 + # via juju +parso==0.8.3 + # via jedi +pathspec==0.12.1 + # via black +pep8-naming==0.13.3 + # via -r test-requirements.in +pexpect==4.9.0 + # via ipython +platformdirs==4.1.0 + # via black +pluggy==1.4.0 + # via pytest +prompt-toolkit==3.0.43 + # via ipython +protobuf==4.25.2 + # via macaroonbakery +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.2 + # via stack-data +pyasn1==0.5.1 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.3.0 + # via google-auth +pycodestyle==2.11.1 + # via flake8 +pycparser==2.21 + # via + # -c requirements.txt + # cffi +pydocstyle==6.3.0 + # via flake8-docstrings +pyflakes==3.1.0 + # via flake8 +pygments==2.17.2 + # via ipython +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyproject-flake8==6.1.0 + # via -r test-requirements.in +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pytest==7.4.4 + # via + # -r test-requirements.in + # pytest-asyncio + # pytest-operator +pytest-asyncio==0.21.1 + # via pytest-operator +pytest-operator==0.32.0 + # via -r test-requirements.in +python-dateutil==2.8.2 + # via kubernetes +pytz==2023.3.post1 + # via pyrfc3339 +pyyaml==6.0.1 + # via + # -c requirements.txt + # juju + # kubernetes + # pytest-operator +requests==2.31.0 + # via + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib +requests-oauthlib==1.3.1 + # via kubernetes +rsa==4.9 + # via google-auth +six==1.16.0 + # via + # asttokens + # kubernetes + # macaroonbakery + # paramiko + # pymacaroons + # python-dateutil +snowballstemmer==2.2.0 + # via pydocstyle +stack-data==0.6.3 + # via ipython +toposort==1.10 + # via juju +traitlets==5.14.1 + # via + # ipython + # matplotlib-inline +types-pyyaml==6.0.12.12 + # via -r test-requirements.in +types-setuptools==69.0.0.20240125 + # via -r test-requirements.in +types-toml==0.10.8.7 + # via -r test-requirements.in +typing-extensions==4.9.0 + # via + # mypy + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.1.0 + # via + # kubernetes + # requests +wcwidth==0.2.13 + # via prompt-toolkit +websocket-client==1.7.0 + # via + # -c requirements.txt + # kubernetes +websockets==12.0 + # via juju + +# The following packages are considered to be unsafe in a requirements file: +# setuptools