Skip to content

Commit 640a3c2

Browse files
committed
Ajout des fichiers yml pour les workflows
1 parent 032cf46 commit 640a3c2

File tree

3 files changed

+207
-0
lines changed

3 files changed

+207
-0
lines changed

.github/dependabot.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/backend"
5+
target-branch: "staging"
6+
schedule:
7+
interval: "weekly"
8+
cooldown:
9+
default-days: 7
10+
labels:
11+
- "dependencies"
12+
- "backend"
13+
14+
- package-ecosystem: "npm"
15+
directory: "/web"
16+
target-branch: "staging"
17+
schedule:
18+
interval: "weekly"
19+
cooldown:
20+
default-days: 7
21+
labels:
22+
- "dependencies"
23+
- "web"
24+
25+
- package-ecosystem: "npm"
26+
directory: "/mobile"
27+
target-branch: "staging"
28+
schedule:
29+
interval: "weekly"
30+
cooldown:
31+
default-days: 7
32+
labels:
33+
- "dependencies"
34+
- "mobile"
35+
36+
- package-ecosystem: "github-actions"
37+
directory: "/"
38+
target-branch: "staging"
39+
schedule:
40+
interval: "weekly"
41+
cooldown:
42+
default-days: 7
43+
labels:
44+
- "dependencies"
45+
- "github-actions"

.github/workflows/codeql.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: CodeQL
2+
3+
on:
4+
push:
5+
branches: [staging]
6+
pull_request:
7+
branches: [staging]
8+
schedule:
9+
- cron: "0 3 * * 1"
10+
11+
jobs:
12+
analyze:
13+
name: Analyze
14+
runs-on: ubuntu-latest
15+
16+
permissions:
17+
actions: read
18+
contents: read
19+
security-events: write
20+
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
language: [python, javascript]
25+
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@v4
29+
30+
- name: Initialize CodeQL
31+
uses: github/codeql-action/init@v3
32+
with:
33+
languages: ${{ matrix.language }}
34+
35+
- name: Autobuild
36+
uses: github/codeql-action/autobuild@v3
37+
38+
- name: Perform CodeQL Analysis
39+
uses: github/codeql-action/analyze@v3

.github/workflows/main.yml

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
name: SylvaSan CI
2+
3+
on: [push]
4+
5+
jobs:
6+
backend-tests:
7+
name: Django tests
8+
runs-on: ubuntu-latest
9+
10+
services:
11+
postgres:
12+
image: postgres:15
13+
env:
14+
POSTGRES_USER: postgres
15+
POSTGRES_PASSWORD: postgres
16+
POSTGRES_DB: postgres
17+
ports:
18+
- 5432:5432
19+
options: >-
20+
--health-cmd pg_isready
21+
--health-interval 10s
22+
--health-timeout 5s
23+
--health-retries 5
24+
25+
redis:
26+
image: redis:7
27+
ports:
28+
- 6379:6379
29+
options: >-
30+
--health-cmd "redis-cli ping"
31+
--health-interval 10s
32+
--health-timeout 5s
33+
--health-retries 5
34+
35+
defaults:
36+
run:
37+
working-directory: backend
38+
39+
steps:
40+
- uses: actions/checkout@v4
41+
42+
- name: Setup Python
43+
uses: actions/setup-python@v5
44+
with:
45+
python-version: "3.12"
46+
cache: "pip"
47+
48+
- name: Install system deps
49+
run: |
50+
sudo apt-get update
51+
sudo apt-get install -y libcairo2-dev libffi-dev pkg-config libxml2-dev libxslt1-dev libjpeg-dev
52+
53+
- name: Install Python dependencies
54+
run: |
55+
pip install -r requirements.txt
56+
57+
- name: Run Django tests
58+
env:
59+
DEBUG: True
60+
SECRET: test
61+
ENVIRONMENT: ci
62+
DB_USER: postgres
63+
DB_PASSWORD: postgres
64+
DB_HOST: localhost
65+
DB_PORT: 5432
66+
DB_NAME: postgres
67+
REDIS_URL: redis://localhost:6379/0
68+
run: |
69+
python manage.py test
70+
71+
web-tests:
72+
name: Web tests
73+
runs-on: ubuntu-latest
74+
75+
defaults:
76+
run:
77+
working-directory: web
78+
79+
steps:
80+
- uses: actions/checkout@v4
81+
82+
- name: Setup Node
83+
uses: actions/setup-node@v4
84+
with:
85+
node-version: 22
86+
cache: "npm"
87+
cache-dependency-path: web/package-lock.json
88+
89+
- name: Install dependencies
90+
run: npm ci
91+
92+
- name: Run tests
93+
run: npm run test --if-present
94+
95+
- name: Build
96+
run: npm run build
97+
98+
mobile-tests:
99+
name: Mobile tests
100+
runs-on: ubuntu-latest
101+
102+
defaults:
103+
run:
104+
working-directory: mobile
105+
106+
steps:
107+
- uses: actions/checkout@v4
108+
109+
- name: Setup Node
110+
uses: actions/setup-node@v4
111+
with:
112+
node-version: 22
113+
cache: "npm"
114+
cache-dependency-path: mobile/package-lock.json
115+
116+
- name: Install dependencies
117+
run: npm ci
118+
119+
- name: Run tests
120+
run: npm run test --if-present
121+
122+
- name: Build
123+
run: npm run build

0 commit comments

Comments
 (0)