68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
# Pipeline à multiple scénarios
|
|
# pour l'environnement de dev
|
|
|
|
name: Dev Pipeline (frontend)
|
|
|
|
on:
|
|
# workflow_dispatch -> lancement manuel des jobs
|
|
workflow_dispatch:
|
|
inputs:
|
|
job_choice:
|
|
type: choice
|
|
description: "Choix du job"
|
|
options:
|
|
- build
|
|
- sonarqube
|
|
- test
|
|
- deploy
|
|
- all
|
|
|
|
# push:
|
|
# branches: [ "dev" ]
|
|
pull_request:
|
|
branches: [ "dev" ]
|
|
|
|
|
|
jobs:
|
|
sonarqube:
|
|
name: SonarQube
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
|
- name: SonarQube Scan
|
|
uses: SonarSource/sonarqube-scan-action@7006c4492b2e0ee0f816d36501671557c97f5995 # v8.1.0
|
|
env:
|
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
|
|
test:
|
|
if: ${{ github.event.inputs.job_choice == 'test' }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24
|
|
cache: npm
|
|
- run: npm ci
|
|
- run: npm test -- --watch=false
|
|
|
|
# build:
|
|
# # si l'utilisateur a choise le job 'build' ou l'ensemble des jobs avec l'option 'all'
|
|
# if: ${{ github.event.inputs.job_choice == 'build' || github.event.inputs.job_choice == 'all' }}
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - uses: actions/setup-node@v4
|
|
# with:
|
|
# node-version: 24
|
|
# cache: npm
|
|
|
|
# - run: npm ci
|
|
# - run: npm run build
|
|
|
|
# deploy:
|
|
# if: ${{ github.event.inputs.job_choice == 'deploy' }}
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - run: echo "DEPLOY job is running"
|