44 lines
928 B
YAML
44 lines
928 B
YAML
variables:
|
|
PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/pip"
|
|
|
|
default:
|
|
image: nikolaik/python-nodejs:python3.9-nodejs20
|
|
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/pre-commit
|
|
|
|
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
|