We have a few multiline scripts in our Azure DevOps Pipeline. For example:
|
- script: | |
|
rustc --version --verbose |
|
cargo build --verbose --all |
|
cargo build --verbose --all --features "unstable" |
|
cargo build --verbose --all --examples --features "unstable" |
|
cargo test --verbose --all --features "test unstable" --no-run |
Originally when I set this up, I expected that if any of those lines failed, the whole step would fail, but apparently that is not the case.
Related GitHub issue: microsoft/azure-pipelines-yaml#135
This means that it is theoretically possible for our CI to let through build errors, test failures, or worse. Any help fixing this would be appreciated. This is a terrible default, but we'll just need to work around it however we can.
Note that it isn't enough to just add set -e at the top of the script since that won't work on Windows.
We have a few multiline scripts in our Azure DevOps Pipeline. For example:
turtle/azure-pipelines.yml
Lines 61 to 66 in dc80b65
Originally when I set this up, I expected that if any of those lines failed, the whole step would fail, but apparently that is not the case.
Related GitHub issue: microsoft/azure-pipelines-yaml#135
This means that it is theoretically possible for our CI to let through build errors, test failures, or worse. Any help fixing this would be appreciated. This is a terrible default, but we'll just need to work around it however we can.
Note that it isn't enough to just add
set -eat the top of the script since that won't work on Windows.