Azure / Azure/static-web-apps-cli

swa deploy exits 0 without uploading files — StaticSitesClient receives unrecognized --environment flag

Ouverte
#998 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
668
Forks
156
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Describe the bug

`swa deploy ./dist --deployment-token --env default` reports "Preparing deployment. Please wait..." then exits with code 0 - but **no files are uploaded** to the Static Web App.

## Root cause (from investigation)

The SWA CLI passes `--environment` to the underlying StaticSitesClient binary, but that binary only recognizes `--environmentName`. When StaticSitesClient receives the unrecognized flag, it prints its help text to stderr and exits 0, which the CLI interprets as success.

Evidence from running StaticSitesClient directly:

```
StaticSitesClient --app dist --apiToken --environment default --skipAppBuild true
ERROR(S):
Option 'environment' is unknown.
```

Exit code: **0** (not 1), so the CLI's `if (exitCode !== 0)` check passes.

## To Reproduce

1. Have a built static site in `./dist`
2. Run: `swa deploy ./dist --deployment-token --env default`
3. Observe output stops at "Preparing deployment. Please wait..."
4. No "Deployment Complete" message, no upload progress
5. Exit code is 0
6. Verify on Azure Portal or via curl that old files are still being served

## Expected behavior

- Either pass the correct `--environmentName` flag to StaticSitesClient
- Or detect the silent failure (no "Deployment Complete" in StaticSitesClient output) and report an error

## Workaround

Call StaticSitesClient directly with the correct flags:

```bash
StaticSitesClient --deploymentaction upload \
--app "dist" \
--appArtifactLocation "." \
--apiToken \
--skipAppBuild true \
--skipApiBuild true \
--deploymentProvider Custom
```

## Environment

- SWA CLI version: 2.0.8
- Node.js: v24.12.0 (also reproduced with v20.11.0)
- OS: Windows 11
- StaticSitesClient version: 1.0.0+689a6c1fe8fc32f40348cc41223a7e9d83dd43d2

## Related issues

- #783 (CLI doesn't produce a failure exit code in case of failure)
- #914 (SWA obscures underlying errors reported by StaticSitesClient)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le point d’entrée du déploiement de SWA CLI qui invoque StaticSitesClient et recherchez l’argument `--environment` ; comparez-le au comportement de `--environmentName` décrit ici. Reproduisez le problème avec `swa deploy ./dist --deployment-token --env default`, puis vérifiez que le déploiement téléverse des fichiers, signale sa fin et ne traite pas le cas d’un indicateur non reconnu comme un succès.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
azure, typescript
Domaine
cli, cloud
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.