diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..65bb353 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,13 @@ +name: tests + +on: + push: + pull_request: + +jobs: + tests: + runs-on: ubuntu-latest + container: ghcr.io/astral-sh/uv:python3.14-trixie + steps: + - uses: actions/checkout@v4 + - run: ./hooks/test.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 626ee0f..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -tests: - script: "./bin/gitlabci.sh" diff --git a/hooks/test.sh b/hooks/test.sh new file mode 100755 index 0000000..32962f4 --- /dev/null +++ b/hooks/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -euxvo pipefail + +TEMPLATE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +TMP_DIR="$(mktemp -d)" +trap 'rm -rf "$TMP_DIR"' EXIT + +cd "$TMP_DIR" +uvx cookiecutter "$TEMPLATE_DIR" --no-input + +PROJECT_DIR="$TMP_DIR/my_project" +cd "$PROJECT_DIR" + +uv venv .venv +uv pip install --python .venv/bin/python -r requirements/dev.in + +DATABASE_URL="sqlite:///db.sqlite3" .venv/bin/python manage.py check + +echo "Cookiecutter generated project in $TMP_DIR passed Django checks"