GitHub Actions Workflow Functions: Understanding failure with Examples

GitHub Actions Workflow Functions: Understanding failure with Examples

Hello, GitHub enthusiasts! Today, we will delve into an essential function used in GitHub Actions workflows: failure. This function provides a way to determine the outcome of previous steps or jobs, thereby allowing us to control the execution flow within our workflows based on whether or not failures occurred.

Understanding the failure Function

In GitHub Actions, the failure function is used to check if a previous job or step failed. It returns a Boolean value: true if the prior operation failed and false if it did not.

The syntax is straightforward:

  • failure(): Returns true if the previous job or step failed.

This function is typically used with the if conditional keyword to manage the execution of steps or jobs within your workflows.

Now, let’s look at some examples to better understand how this function can be applied in real-world scenarios.

Using failure in a Step

Suppose you have a workflow where you want to execute a specific step only if the previous step failed. Here’s how you can achieve that:

In this case, the Handle failure step will only run if the Run tests step failed, due to the if: failure() condition.

Using failure in a Job

The failure function can also control the execution of an entire job based on the failure status of a previous job. For example:

Here, the handleFailure job will only run if the build job failed, as indicated by the if: failure() condition.


The failure function in GitHub Actions is a crucial tool for creating controlled and responsive workflows. By understanding this function, you can ensure your CI/CD pipelines handle failures gracefully, making your processes more resilient and reliable.

Remember, GitHub Actions offers a multitude of powerful functions to bolster your workflows. By mastering these, you can create tailored workflows that perfectly match your project’s unique requirements. Happy coding!