Question
Running a GitHub Actions step only if previous step has run
I've set up a workflow in GitHub actions to run my tests and create an artifact of the test coverage. The stripped down version of my YAML file looks like this:
name: Build
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
# Other steps here
- name: Build app
- name: Run tests
- name: Create artifact of test coverage
# Other steps here
The problem is that the artifact does not get created when the tests fail.
I figured out about if: always()
condition the from the docs, but this will also cause this step to run when my Build app
step fails. I don't want that to happen because there is nothing to archive in that case.
How can I only run this step if the previous step has run (either succeeded or failed)?