# list recipes
default:
    @just --list

clean:
    #!/bin/sh
    if [ ! -d "dist" ] && [ ! -d "__pycache__" ]; then
        echo "Nothing to clean."
        exit 0
    fi
    if [ -d "dist" ]; then
        echo "Removing dist/"
        rm -r dist/
    fi
    if [ -d "__pycache__" ]; then
        echo "Removing __pycache__/"
        rm -r "__pycache__"
    fi

publish:
    #!/bin/sh
    just clean
    uv build
    export UV_PUBLISH_TOKEN="$(pass show pypi)"
    uv publish

format:
    uv run ruff format

check:
    uv run ruff check .

fix:
    uv run ruff check --fix .

test:
    uv run pytest

docker_name := 'git.ficd.sh/ficd/zona'
docker cmd:
    @just docker-{{cmd}}

[working-directory: 'docker-ci']
docker-build:
    docker build -t {{docker_name}}:ci .

[working-directory: 'docker-ci']
docker-run arg="bash": docker-build
    docker run --rm -it {{docker_name}}:ci {{arg}}

docker-login:
    docker login git.ficd.sh

docker-test: docker-build
    @just docker-run "uv --version"

[working-directory: 'docker-ci']
docker-push: docker-login docker-build docker-test
    docker push {{docker_name}}:ci

