62 lines
1.8 KiB
YAML
62 lines
1.8 KiB
YAML
on: [ push ]
|
|
|
|
env:
|
|
POSTGRES_HOST: "postgres"
|
|
POSTGRES_DB: "newsreader"
|
|
POSTGRES_USER: "newsreader"
|
|
POSTGRES_PASSWORD: "newsreader"
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: docker
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:15
|
|
env:
|
|
POSTGRES_HOST: "${{ env.POSTGRES_HOST }}"
|
|
POSTGRES_DB: "${{ env.POSTGRES_NAME }}"
|
|
POSTGRES_NAME: "${{ env.POSTGRES_NAME }}"
|
|
POSTGRES_USER: "${{ env.POSTGRES_USER }}"
|
|
POSTGRES_PASSWORD: "${{ env.POSTGRES_PASSWORD }}"
|
|
memcached:
|
|
image: memcached:1.5.22
|
|
|
|
steps:
|
|
- run: apt-get --yes install nodejs
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 'lts/*'
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: "${{ GITHUB_WORKSPACE }}/.cache/uv"
|
|
key: ${{ runner.os }}-uv-${{ hashFiles('uv.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-uv-
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: "${{ GITHUB_WORKSPACE }}/.cache/pip"
|
|
key: ${{ runner.os }}-pip-
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
|
|
- run: pip install uv
|
|
env:
|
|
PIP_CACHE_DIR: "${{ GITHUB_WORKSPACE }}/.cache/pip"
|
|
- run: uv sync --extra testing --extra ci
|
|
env:
|
|
UV_CHACHE_DIR: "${{ GITHUB_WORKSPACE }}/.cache/uv"
|
|
|
|
- run: ./.venv/bin/coverage run ./src/manage.py test newsreader
|
|
env:
|
|
DJANGO_SETTINGS_MODULE: "newsreader.conf.ci"
|
|
POSTGRES_HOST: "${{ env.POSTGRES_HOST }}"
|
|
POSTGRES_DB: "${{ env.POSTGRES_NAME }}"
|
|
POSTGRES_NAME: "${{ env.POSTGRES_NAME }}"
|
|
POSTGRES_USER: "${{ env.POSTGRES_USER }}"
|
|
POSTGRES_PASSWORD: "${{ env.POSTGRES_PASSWORD }}"
|