You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python Integration Tests est rouge sur les dernieres executions main (run 37409220102, 37409220056, etc.).
github-script step Microsoft Teams Notification (workflow python-integration-tests.yml L209-217) appelle actions/github-script@v6 avec webhook_url: ${{ secrets.MSTEAMS_WEBHOOK }}. Le secret MSTEAMS_WEBHOOK n est pas configure sur MyIntelligenceAgency/semantic-fleet ; il s evalue en chaine vide, l action echoue avec [Error] Missing Microsoft Teams Incoming Webhooks URL, et le job python-integration-tests-check passe failure.
Cela bloque le merge gate sans defaut reel de tests Python : les steps python-integration-tests et python-merge-gate sont skipped (dependance sur le job paths-filter qui, lui, est success).
Reproduction
gh run view 37409220102 --log-failed
# step: Microsoft Teams Notification# ::[error]Action execution failed: [Error] Missing Microsoft Teams Incoming Webhooks URL.
Cause
La condition if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' execute le step sur main, mais ne protege pas contre un webhook_url vide. Le step suivant Microsoft Teams Notification (Dry Run) (L219) utilise webhook_url: NONE (litteral) qui marche ; le precedent utilise un secret non-defini.
Voies de resolution
RECOVERABLE-USER-HAND : configurer le secret MSTEAMS_WEBHOOK sur MyIntelligenceAgency/semantic-fleet (Settings > Secrets and variables > Actions). Necessite un webhook Teams valide cote owner du repo.
Le step est alors skipped quand le secret est vide, le job passe. Le merge gate redevient vert.
RECOVERABLE-LOCAL variante : retirer le step si la notification Teams n est plus desiree.
Recommandation
Option 2 (guarder le step) est la voie la plus petite et preserve la fonctionnalite quand le secret sera configure ulterieurement. PR dediee ci(python): guard Teams notification sur secret vide est attendue, avec un test que le step est skipped sur PR (deja couvert par le if actuel) et sur main sans secret.
Liens
CoursIA lane myia-ai-01:CoursIA-2 (dispatch coordinateur 06/10)
Issue de triage des 18 PRs ouvertes (dependabot bumps obsoletes vs PRs substantives) : a ouvrir en follow-up
Diagnostic verifie firsthand via gh run view 37409220102 --log-failed
Run 37409220102 (2026-10-06T03:29:33Z, schedule) — job 112093676433, step 8 :
##[group]Run skitionek/notify-microsoft-teams@master
##[endgroup]
##[error]Action execution failed: [Error] Missing Microsoft Teams Incoming Webhooks URL.
##[error]Please configure "MSTEAMS_WEBHOOK" as environment variable or
##[error]specify the key called "webhook_url" in "with" section.
##[error]Action execution failed: [Error] Missing Microsoft Teams Incoming Webhooks URL.
##[error]Please configure "MSTEAMS_WEBHOOK" as environment variable or
##[error]specify the key called "webhook_url" in "with" section.
2026-10-06T03:29:46Z Cleaning up orphan processes
Cause : le secret MSTEAMS_WEBHOOK n est pas configuré sur ce repo. actions/github-script@v6 reçoit webhook_url qui s évalue en chaîne vide, l action échoue.
Aggravation du rouge : le step notification fait passer le job check au rouge même en schedule. Les tests python-integration-tests et python-merge-gate sont skipped en schedule (la condition github.event_name != pull_request && github.event_name != schedule les exclut), mais le step notification tourne avant le core.setFailed final, donc le job échoue sur la notification, pas sur les tests.
3 voies de retour au vert :
RECOVERABLE-USER-HAND : créer le secret MSTEAMS_WEBHOOK sur ce repo (Settings → Secrets and variables → Actions) avec une URL de webhook Teams valide. Le step notification passe, le job check passe en schedule (les tests restent skipped, mais le job ne fail plus).
RECOVERABLE-LOCAL : PR sur ce repo qui guard le step notification avec if: secrets.MSTEAMS_WEBHOOK != '' en plus du if: failure()|(cancelled()) actuel. Le step est skipped quand le secret est absent, le job check passe. C est 1 ligne de workflow, +1/-1.
INTRINSIC : retirer purement le step Microsoft Teams Notification (la notification Teams est morte sur ce fork). Documenter la perte de capacité.
Le choix entre 1/2/3 dépend de la stratégie : la voie 1 garde la notification fonctionnelle si elle est désirée ; la voie 2 la rend optionnelle ; la voie 3 l élimine.
Mesure par lane myia-ai-01:CoursIA-2 (worker), coordinateur dispatch msg-20261006T102126-dnu09i. Prêt à livrer la PR voie 2 si GO.
##[error]Action execution failed: [Error] Missing Microsoft Teams Incoming Webhooks URL.
##[error]Please configure "MSTEAMS_WEBHOOK" as environment variable or
##[error]specify the key called "webhook_url" in "with" section.
##[error]Action execution failed: [Error] Missing Microsoft Teams Incoming Webhooks URL.
##[error]Please configure "MSTEAMS_WEBHOOK" as environment variable or
##[error]specify the key called "webhook_url" in "with" section.
2026-10-06T03:29:46Z Cleaning up orphan processes
Fix (pattern GitHub Actions)
secrets.X n'est pas autorisé dans un if: de step. On hoist la valeur au niveau du job dans une env var, et le step guard lit la env var.
Activity
jsboige commentedon Oct 6, 2026
Verbatim log du rouge (mesure firsthand c.198) :
Run 37409220102 (2026-10-06T03:29:33Z, schedule) — job 112093676433, step 8 :
Action : skitionek/notify-microsoft-teams@master (SHA 3e17a76608ddc8b8d95084c72a513bc677bd642c), step 8 du job python-integration-tests-check (workflow .github/workflows/python-integration-tests.yml L209-217).
Cause : le secret MSTEAMS_WEBHOOK n est pas configuré sur ce repo. actions/github-script@v6 reçoit webhook_url qui s évalue en chaîne vide, l action échoue.
Aggravation du rouge : le step notification fait passer le job check au rouge même en schedule. Les tests python-integration-tests et python-merge-gate sont skipped en schedule (la condition github.event_name != pull_request && github.event_name != schedule les exclut), mais le step notification tourne avant le core.setFailed final, donc le job échoue sur la notification, pas sur les tests.
3 voies de retour au vert :
RECOVERABLE-USER-HAND : créer le secret MSTEAMS_WEBHOOK sur ce repo (Settings → Secrets and variables → Actions) avec une URL de webhook Teams valide. Le step notification passe, le job check passe en schedule (les tests restent skipped, mais le job ne fail plus).
RECOVERABLE-LOCAL : PR sur ce repo qui guard le step notification avec if: secrets.MSTEAMS_WEBHOOK != '' en plus du if: failure()|(cancelled()) actuel. Le step est skipped quand le secret est absent, le job check passe. C est 1 ligne de workflow, +1/-1.
INTRINSIC : retirer purement le step Microsoft Teams Notification (la notification Teams est morte sur ce fork). Documenter la perte de capacité.
Le choix entre 1/2/3 dépend de la stratégie : la voie 1 garde la notification fonctionnelle si elle est désirée ; la voie 2 la rend optionnelle ; la voie 3 l élimine.
Mesure par lane myia-ai-01:CoursIA-2 (worker), coordinateur dispatch msg-20261006T102126-dnu09i. Prêt à livrer la PR voie 2 si GO.
🤖 Generated with Claude Code
fix(ci,#88): guard Microsoft Teams Notification on MSTEAMS_WEBHOOK pr…
jsboige commentedon Oct 6, 2026
[c.200 myia-ai-01:CoursIA-2] Voie 2 livrée : PR #89 sur
fix/88-msteams-webhook-guard(commit15cd848).Verbatim log mesure firsthand c.198 (run 37409220102 / job 112093676433 / step 8 / 2026-10-06T03:29:33Z)
Fix (pattern GitHub Actions)
secrets.Xn'est pas autorisé dans unif:de step. On hoist la valeur au niveau du job dans une env var, et le step guard lit la env var.Les 2 steps notification sont guardés. Le step 2 (Dry Run) a
webhook_url: NONEmais le guard documente l'intention.Chemins
MSTEAMS_WEBHOOKconfiguréHAS_TEAMS == 'true', step tourne comme avantMSTEAMS_WEBHOOKabsentHAS_TEAMS == 'false', step skipped, job check passeAcceptance
workflow_dispatchvert sur la branche (vérification post-merge via lien CI)Refs PR #89.