Azure / static-web-apps-cli

Azure Static Web Apps CLI ✨

Home Page:https://aka.ms/swa/cli-local-development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLI doesn't produce a failure related exit code in case of failure

rhuanbarreto opened this issue · comments

Describe the bug
A clear and concise description of what the bug is.

Any error coming from running the CLI doesn't have an exit code that represents a failure. When I run the CLI directly (not by using the github actions action), I don't get an error from it. One example:

Run ./node_modules/.bin/swa deploy --no-use-keychain --config-name dev --env pr124

Welcome to Azure Static Web Apps CLI (1.1.4)

Using configuration "dev" from file:
  /home/runner/work/repo/repo/swa-cli.config.json

Deploying front-end files from folder:
  /home/runner/work/repo/repo/dist

Consider providing api-language and version using --api-language and --api-version flags,
    otherwise default values apiLanguage: node and apiVersion: 16 will apply
Checking Azure session...
✔ Successfully logged into Azure!
✔ Saved project credentials in .env file.

Checking project "project" settings...
✔ Successfully setup project!

Deploying to environment: pr124


Found configuration file:
  /home/runner/work/repo/repo/staticwebapp.config.json

Deploying project to Azure Static Web Apps...
Could not find StaticSitesClient local binary
- Downloading https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient@1.0.024941
[swa] ✔ Downloading https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient@1.0.024941
- Preparing deployment. Please wait...
✖ The content server has rejected the request with: BadRequest
✖ Reason: This Static Web App already has the maximum number of staging environments (3). Please remove one and try again.

To Reproduce
Steps to reproduce the behavior:

  1. Use the SWA CLI manually in github actions
  2. Run a command that will fail
  3. The workflow will not fail

Expected behavior

I expected the CLI to exit with a code that represents a failure, so the workflow would fail.

I have a similar issue where i've received no errors but the clia doesn't reach the "deploying project to...." and production environment hasn't been updated. There are also no errors or indications of failed deployments in azure.
image

we hit similar issue where the swa cli has error but the return code doesn't have error so we can't reliably detect issues in our build script...


swa deploy $deploymentEnvironment --deployment-token $deploymentToken

...

2024-04-26 18:44:27.656027: - Preparing deployment. Please wait...
2024-04-26 18:44:45.009317: \N{HEAVY MULTIPLICATION X} �[31mDeployment Failed :(�[0m
2024-04-26 18:44:45.009462: \N{HEAVY MULTIPLICATION X} �[31mDeployment Failure Reason: Failure during content distribution.�[0m
Seed-2024-04-26 18:44:45.056238: ##EXECUTION#COMPLETE####EXITCODE#0##

Hitting the same problem. Deployment fails (due to same problem of hitting my max staging environments), but CI/CD succeeds because the exit code is 0.