forked from postgres/pgcommitfest
-
Notifications
You must be signed in to change notification settings - Fork 0
85 lines (70 loc) · 1.94 KB
/
ci.yaml
File metadata and controls
85 lines (70 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: CI
on:
push:
branches: ["main"]
pull_request:
jobs:
format:
runs-on: ubuntu-24.04
name: "Linting and formatting"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run ruff check
uses: astral-sh/ruff-action@v2
- name: Run ruff format --check
uses: astral-sh/ruff-action@v2
with:
args: "format --check"
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: 1.9.4
- name: Run Biome
run: biome ci .
- name: Install djhtml
run: pip install djhtml
- name: Run djhtml
run: djhtml pgcommitfest/*/templates/*.html pgcommitfest/*/templates/*.inc --tabwidth=1 --check
test:
runs-on: ubuntu-24.04
name: "Django Tests"
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python with uv
uses: astral-sh/setup-uv@v4
- name: Create CI settings
run: |
cat > pgcommitfest/local_settings.py << 'EOF'
# CI test settings
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "pgcommitfest",
"USER": "postgres",
"PASSWORD": "postgres",
"HOST": "localhost",
"PORT": "5432",
}
}
# Enable debug for better error messages in CI
DEBUG = True
EOF
- name: Install dependencies
run: uv sync
- name: Run tests
run: uv run manage.py test --verbosity=2