2024-09-16 15:46:49 +02:00

55 lines
1.4 KiB
YAML

on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
# Nous appelons cette liste de tâches backend-test, car le sujet de cette ci est de réaliser des tests avant l'intégration sur main
backend-test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .
steps:
# Nous allons utiliser l'action checkout qui récupère le code source depuis GitHub.
- name: Checkout code
uses: actions/checkout@v4
# Nous utilisons ensuite l'action setup-node@v4 avec la bonne version
# et npm.
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.17.0'
# Installation des dépendances avec npm install
- name: Install dependencies
run: npm install
# Exécution des tests unitaires avec npm run test
- name: Run tests
run: npm run test
services:
postgres:
image: postgres:13
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${{ secrets.CI_DB_PASSWORD }}
POSTGRES_DB: testdb
sonarqube:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: SonarQube Scan
uses: sonarsource/sonarqube-scan-action@v2.0.1
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}