# 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"