# TP22 partie 6 : workflow GitHub Actions à compléter (à placer dans .github/workflows/).
# L'application est démarrée DANS le job : le scan cible localhost, rien n'est exposé.
name: dast-and-performance

on:
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

jobs:
  dast-perf:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7 # TODO : épingler par SHA (TP10)

      - name: Démarrer la cible
        run: docker compose up -d --wait

      # TODO : scan ZAP baseline via le proxy (http://localhost:8080) avec zap/rules.tsv,
      #        rapport HTML publié en artefact (actions/upload-artifact) même en cas d'échec

      # TODO : test k6 smoke puis load (image grafana/k6, --network host, BASE_URL=http://localhost:8080)
      #        le job doit échouer si un threshold est franchi (code retour 99)

      - name: Arrêter la cible
        if: always()
        run: docker compose down -v
