Skip to content

Commit

Permalink
Add uv and mise support
Browse files Browse the repository at this point in the history
  • Loading branch information
hipek8 committed Dec 12, 2024
1 parent f1b5cc3 commit a9d3d7d
Show file tree
Hide file tree
Showing 11 changed files with 2,239 additions and 58 deletions.
6 changes: 0 additions & 6 deletions .coveragerc

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('dev.txt', 'docs.txt', 'prod.txt' 'test.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('dev.txt', 'docs.txt', 'prod.txt' 'test.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('dev.txt', 'docs.txt', 'prod.txt' 'test.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
Expand Down Expand Up @@ -247,7 +247,7 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('base.txt', 'code_style.txt', 'dev.txt', 'docs.txt', 'hermes.txt', 'openstack.txt', 'prod.txt', 'prod_ldap.txt', '', 'test.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('dev.txt', 'docs.txt', 'prod.txt' 'test.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
Expand Down
70 changes: 70 additions & 0 deletions mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[env]
_.python.venv = ".venv"
LDFLAGS = "-L/opt/homebrew/opt/openssl/lib"
CPPFLAGS = "-I/opt/homebrew/opt/openssl/include"
DJANGO_SETTINGS_MODULE = "ralph.settings.local"
TEST_DB_ENGINE = "psql"
DATABASE_PORT = 54320

[tools]
docker-compose = "latest"
node = "11.7.0"
uv = "latest"

[tasks.install]
run = [
"uv pip sync requirements/dev.txt",
"uv pip install -e ."
]
description = "Install requirements and entrypoints"

[tasks.init]
depends = ["install"]
run = [
"python setup.py develop",
"dev_ralph migrate",
"make menu",
]
description = "Bootstrap new local ralph installation"

[tasks.up]
run = "docker-cli-plugin-docker-compose -f docker/docker-compose-dev.yml up -d"
description = "Start required containers"

[tasks.server]
depends = ['up']
run = "dev_ralph runserver"
alias = "s"
description = "Run local server"

[tasks.requirements]
run = [
"uv pip compile pyproject.toml --all-extras -o requirements/dev.txt",
"uv pip compile pyproject.toml --extra docs -o requirements/docs.txt",
"uv pip compile pyproject.toml --extra dev --extra test -o requirements/test.txt",
"uv pip compile pyproject.toml --extra prod -o requirements/prod.txt",
]
alias = "i"
description = "Compile requirements"

[tasks.lint]
run = "ruff check"
description = "Format code"

[tasks.clean]
run = [
"find . -name '*.py[cod]' -delete",
"rm .coverage || :"
]
hide = true

[tasks.coverage]
depends = ['clean']
run = [
"""DJANGO_SETTINGS_MODULE='ralph.settings.test' coverage run $(command -v test_ralph) \
test {{arg(name='apps',default='ralph.admin ralph.access_cards ralph.accounts ralph.accessories ralph.assets ralph.attachments ralph.back_office ralph.configuration_management ralph.dashboards ralph.data_center ralph.dhcp ralph.deployment ralph.licences ralph.domains ralph.trade_marks ralph.sim_cards ralph.supports ralph.security ralph.lib.foundation ralph.lib.table ralph.networks ralph.data_importer ralph.dc_view ralph.reports ralph.virtual ralph.operations ralph.lib.external_services ralph.lib.transitions ralph.lib.permissions ralph.lib.custom_fields ralph.lib.hooks ralph.notifications ralph.ssl_certificates ralph.lib.mixins ralph.tests ralph.lib.custom_fields.tests ralph.lib.permissions.tests ralph.lib.polymorphic.tests ralph.lib.mixins.tests')}} \
--keepdb """,
"coverage report"
]
description = "Run tests and report coverage"

130 changes: 130 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[tools.coverage.run]
branch = 1

[tools.coverage.report]
omit = "*migrations*,*tests*,*__init__*,*wsgi.py,*__main__*,*settings*,*manage.py"

[project]
name = "Ralph"
version = "20241127.1"
requires-python = ">=3.8"
dynamic = [
"scripts",
"entry-points",
"classifiers",
"keywords",
"authors",
"license",
"readme",
]
dependencies = [
"Django==2.2.28",
"Faker==0.9.0",
"Markdown==3.2.1",
"Pillow",
"Unidecode==0.04.18",
"dj.choices==0.11.0",
"django-auth-ldap==2.1.0",
"django-cryptography==0.3",
"django-extensions==2.2.9",
"django-filter==2.0.0",
"django-import-export==1.2.0",
"django-money==0.12.3",
"django-mptt==0.11",
"django-reversion==3.0.5",
"django-rq==2.0",
"django-sitetree==1.13.0",
"django-taggit-serializer==0.1.7",
"django-taggit==0.22.2",
"django-threadlocals==0.8",
"djangorestframework==3.13.1",
"djangorestframework_xml==2.0.0",
"drf-nested-routers==0.92.5",
"factory-boy==2.11.1",
"mysqlclient==1.3.13",
"netaddr==0.7.18",
"openpyxl==2.4.0",
"py-moneyed==1.2",
"python-dateutil==2.4.2",
"pytz==2024.2",
"redis==3.2.1",
"requests-oauthlib==1.3.0",
"requests==2.20.0",
"rq==1.0",
"six>=1.9.0",
"sqlparse==0.2.3",
"tablib==0.11.5",
"typing==3.6.6",
"psycopg2==2.9.10",
"pyhermes==0.3.0",
# openstack,
"python-keystoneclient",
"python-novaclient==3.2.0",
"openstacksdk==1.5.0",
"python-ironicclient",
"Babel==2.11.0",
"debtcollector==1.3.0",
"funcsigs==0.4",
"iso8601==0.1.11",
"keystoneauth1",
"monotonic==0.6",
"msgpack-python==0.4.7",
"netifaces",
"oslo.config",
"oslo.i18n",
"oslo.serialization",
"oslo.utils",
"pbr",
"positional==1.0.1",
"prettytable==0.7.2",
"simplejson==3.8.2",
"stevedore",
"wrapt==1.10.6",
]

[project.optional-dependencies]
dev = [
# code_style
"flake8==3.7.9",
"isort==4.2.5",
"pyflakes==2.1.0",
"ruff",
# dev tools
"django-debug-toolbar==1.11",
"werkzeug==0.16.1",
"pudb",
"ipython",
"ipdb",
"django-silk",
"django-cors-headers==3.11.0",
]

test = [
"coverage",
"coveralls",
"ddt",
"django-plainpasswordhasher",
"sphinx",
"flake8-debugger==1.4.0",
"flake8-print==2.0.2",
"mock==4.0.2",
]

prod = [
"gunicorn",
"django-redis-sessions==0.5.6",
"django-redis-cache==2.0.0",
"hiredis==1.0.0",
"statsd==3.2.1",
]

docs = [
"mkdocs",
"mkdocs-material",
"mkdocs-bootswatch",
"mkdocs_bootstrap",
]
Loading

0 comments on commit a9d3d7d

Please sign in to comment.