From d08140d3996954a5944d87aa740a220768a93165 Mon Sep 17 00:00:00 2001 From: Chris Adams Date: Mon, 4 Nov 2024 18:45:40 +0100 Subject: [PATCH] Update justfile for use instead of makefile --- .gitpod.yml | 2 +- justfile | 34 +++++++++++++++------------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/.gitpod.yml b/.gitpod.yml index 48ef0fdb..5d5d781e 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -10,7 +10,7 @@ tasks: python -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip uv - uv pip install -r requirements/requirements.linux.generated.txt + uv sync dotenv run -- ./manage.py migrate dotenv run -- ./manage.py tailwind install dotenv run -- ./manage.py tailwind build diff --git a/justfile b/justfile index 567ee922..37fba27e 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,4 @@ -set dotenv-load := true +# set dotenv-load := true default: just --list @@ -6,41 +6,37 @@ default: # used for tagging our docker images. TAG := `echo $$APP_RELEASE-$(git log -n 1 --format=%h)` -# Create Python virtual environment if not yet created. -venv: - test -d .venv || python -m venv .venv - ## Deploy a new release to production. This will not work in Gitpod, as it relies on staff SSH keys for deployment. release: - dotenv -f env.prod run -- sentry-cli releases new -p admin-portal `sentry-cli releases propose-version` - dotenv -f env.prod run -- sentry-cli releases set-commits --auto `sentry-cli releases propose-version` - dotenv -f env.prod run -- ansible-playbook ansible/deploy.yml -i ansible/inventories/prod.yml - dotenv -f env.prod run -- sentry-cli releases finalize `sentry-cli releases propose-version` + uv run dotenv -f env.prod run -- sentry-cli releases new -p admin-portal `sentry-cli releases propose-version` + uv run dotenv -f env.prod run -- sentry-cli releases set-commits --auto `sentry-cli releases propose-version` + uv run dotenv -f env.prod run -- ansible-playbook ansible/deploy.yml -i ansible/inventories/prod.yml + uv run dotenv -f env.prod run -- sentry-cli releases finalize `sentry-cli releases propose-version` # Create a super user for local development using the basic django `createsuperuser` command. dev_createsuperuser: - dotenv run -- python ./manage.py createsuperuser --username admin --email admin@admin.com --noinput - dotenv run -- python ./manage.py set_fake_passwords + uv run dotenv run -- python ./manage.py createsuperuser --username admin --email admin@admin.com --noinput + uv run dotenv run -- python ./manage.py set_fake_passwords # Run a django development server that reloads when codes is changed. dev_runserver: - dotenv run -- python manage.py runserver + uv run dotenv run -- python manage.py runserver # Start the tailwind watcher - this will re-run tailwind to generate css as code is changed. dev_tailwind_start: - dotenv run -- python manage.py tailwind start + uv run dotenv run -- python manage.py tailwind start # Install the front end dependencies. dev_tailwind_install: - dotenv run -- python manage.py tailwind install + uv run dotenv run -- python manage.py tailwind install # Run the django tests on a loop with with pytest, and re-running them when code is changed. dev_test: - uv dotenv run -- pytest -s --create-db --looponfail --ds=greenweb.settings.testing + uv run uv dotenv run -- pytest -s --create-db --looponfail --ds=greenweb.settings.testing # Run the django tests on a loop with pytest, but only ones marked with `only`. dev_test_only: - dotenv run -- pytest -s --create-db --looponfail -m only -v --ds=greenweb.settings.testing + uv run dotenv run -- pytest -s --create-db --looponfail -m only -v --ds=greenweb.settings.testing # # Set up the github repo for data analysis against the Green Web Platform database. data_analysis_repo: @@ -62,15 +58,15 @@ test *options: # As above, but only the tests marked 'only'. test_only: - dotenv run -- pytest -s --create-db -m only -v --ds=greenweb.settings.testing + uv run dotenv run -- pytest -s --create-db -m only -v --ds=greenweb.settings.testing # Build the documentation using Sphinx. docs: - dotenv run -- sphinx-build ./docs _build/ + uv run dotenv run -- sphinx-build ./docs _build/ # Build the documentation using Sphinx and keep updating it on every change. docs_watch: - dotenv run -- sphinx-autobuild ./docs _build/ + uv run dotenv run -- sphinx-autobuild ./docs _build/ # Make a docker image for publishing to our registry. docker_build: