<#6540 Windows CI doesn't report a failure of any ...
# meltano-repo-activity
g
#6540 Windows CI doesn't report a failure of any commands before the last if calling executables Issue created by visch
Why is Install Dependencies not failing
Found the issue, it's still perplexing but atleast I understand more about what is happening
Copy code
- name: Build tap on Python ${{ matrix.python-version }} 
        run: |
          poetry env use purposelyfail
          poetry debug
You would expect to fail, because
purposelyfail
is an invalid environment. I have a test repo setup. When you run this on these platforms here's what you get • Ubuntu - Fails as expected • Windows - Succeeds Even weirder is on Windows if you run
Copy code
- name: Build tap on Python ${{ matrix.python-version }} 
        run: |
          poetry env use purposelyfail
The action does fail as you would expect. Searching around I found a few issues written up but could only find them cached on google it looks like discussions at least in this area did not index properly https://webcache.googleusercontent.com/search?q=cache:c48kgTB1SeMJ:https://github.community/t/multiline-commands-on-windows-do-not-fail-if-individual-commands-fail/16753+&amp;cd=1&amp;hl=en&amp;ct=clnk&amp;gl=us Other resources: • https://stackoverflow.com/questions/69615233/githubactions-on-windows-host-powershell-exit-code-of-previous-lines-being-i • https://stackoverflow.com/questions/9948517/how-to-stop-a-powershell-script-on-the-first-error
Error action preference only stops for a failed cmdlet. A failed external command (e.g. npm process) does not stop the script from proceeding.
An an alternative, please use bash/cmd shell.
Github documentation is here on the
pwsh
shell https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference From these docs
We append if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } to powershell scripts so action statuses reflect the script's last exit code.
Is problematic for us because
poetry debug
returns exit code 0. I'd think that
$ErrorActionPreference = 'stop'
would do what we need here and fail at the first failure, but this doesn't happen probably due to calling an external application. Still thinking but we're much closer to an answer here. There's plenty of ways forward as well now that we know what's happening Put in https://github.com/orgs/community/discussions/27923 maybe we'll get some pointers there Originally posted by @visch in #6479 (comment) meltano/meltano