-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathci.dev.yml
More file actions
67 lines (67 loc) · 3.91 KB
/
ci.dev.yml
File metadata and controls
67 lines (67 loc) · 3.91 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
schemaVersion: v0.2
prepare:
steps:
- name: install uv standalone version
command: command -v uv >/dev/null 2>&1 || { curl -LsSf https://astral.sh/uv/install.sh
| env UV_INSTALL_DIR="$HOME/app" sh && chmod +x $HOME/app/uv; }
- name: install frontend environment
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd frontend
&& { [ ! -d ".venv" ] && UV_PYTHON_INSTALL_DIR=/home/user/app/.codesphere-internal/.uv-python-install UV_PYTHON_BIN_DIR=/home/user/app/.codesphere-internal/.uv-python-bin UV_CACHE_DIR=/home/user/app/.codesphere-internal/.uv UV_PYTHON_CACHE_DIR=/home/user/app/.codesphere-internal/.uv-python $UV venv; UV_PYTHON_INSTALL_DIR=/home/user/app/.codesphere-internal/.uv-python-install UV_PYTHON_BIN_DIR=/home/user/app/.codesphere-internal/.uv-python-bin UV_CACHE_DIR=/home/user/app/.codesphere-internal/.uv UV_PYTHON_CACHE_DIR=/home/user/app/.codesphere-internal/.uv-python $UV sync; }
- name: install backend environment
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd backend
&& { [ ! -d ".venv" ] && UV_PYTHON_INSTALL_DIR=/home/user/app/.codesphere-internal/.uv-python-install UV_PYTHON_BIN_DIR=/home/user/app/.codesphere-internal/.uv-python-bin UV_CACHE_DIR=/home/user/app/.codesphere-internal/.uv UV_PYTHON_CACHE_DIR=/home/user/app/.codesphere-internal/.uv-python $UV venv; UV_PYTHON_INSTALL_DIR=/home/user/app/.codesphere-internal/.uv-python-install UV_PYTHON_BIN_DIR=/home/user/app/.codesphere-internal/.uv-python-bin UV_CACHE_DIR=/home/user/app/.codesphere-internal/.uv UV_PYTHON_CACHE_DIR=/home/user/app/.codesphere-internal/.uv-python $UV sync; }
test:
steps:
- name: test frontend
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd frontend && $UV run pytest
- name: test backend
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd backend && $UV run pytest
- name: security check frontend
command: 'UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd frontend
&& $UV run bandit -r . -c pyproject.toml --format=custom --msg-template
"{abspath}:{line}: {test_id}[{severity}]: {msg}" -o bandit-results.txt'
- name: security check backend
command: 'UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd backend
&& $UV run bandit -r . -c pyproject.toml --format=custom --msg-template
"{abspath}:{line}: {test_id}[{severity}]: {msg}" -o bandit-results.txt'
run:
frontend:
steps:
- name: start frontend application
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd frontend
&& $UV run streamlit run --server.address 0.0.0.0 --server.port 3000 main.py
plan: 20
replicas: 1
isPublic: true
network:
path: /
stripPath: false
env:
UV_PYTHON_INSTALL_DIR: /home/user/app/.codesphere-internal/.uv-python-install
UV_PYTHON_BIN_DIR: /home/user/app/.codesphere-internal/.uv-python-bin
UV_CACHE_DIR: /home/user/app/.codesphere-internal/.uv
UV_PYTHON_CACHE_DIR: /home/user/app/.codesphere-internal/.uv-python
backend:
steps:
- name: start backend application
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd backend
&& $UV run uvicorn app:app --reload --port 3000 --host 0.0.0.0
plan: 20
replicas: 1
isPublic: false
env:
UV_PYTHON_INSTALL_DIR: /home/user/app/.codesphere-internal/.uv-python-install
UV_PYTHON_BIN_DIR: /home/user/app/.codesphere-internal/.uv-python-bin
UV_CACHE_DIR: /home/user/app/.codesphere-internal/.uv
UV_PYTHON_CACHE_DIR: /home/user/app/.codesphere-internal/.uv-python
api-docs:
steps:
- name: deploy docs
command: UV=$(command -v uv 2>/dev/null || echo $HOME/app/uv) && cd backend
&& $UV run uvicorn doc:app_docs --host 0.0.0.0 --port 3000
plan: 20
replicas: 1
isPublic: true
network:
path: /api
stripPath: false