variables: PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/pip" default: image: nikolaik/python-nodejs:python3.9-nodejs16 cache: paths: - .cache/pip - .venv django-checks: stage: build script: - uv run manage.py migrate - uv run manage.py check tests: stage: test script: - uv run bin/test lint: stage: test script: - uv run bin/lint deploy: stage: deploy before_script: # Install ssh if not already - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) # Make SSH key available - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh # Add known host keys - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: - ssh gitdeploy@dreamcast.neuf.no "$(< bin/deploy)" only: - main