> For the complete documentation index, see [llms.txt](https://docs.poja.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.poja.io/troubleshooting/deployment-unexpectedly-fails-without-triggering-the-github-workflow.md).

# Deployment unexpectedly fails without triggering the GitHub Workflow

***

This issue occurs when GitHub branch protection rules prevent Poja from pushing directly to your `prod` or `preprod` branches.

### The bug <a href="#the-bug" id="the-bug"></a>

After updating the configuration of your Environment[^1], your deployment unexpectedly fails on the <mark style="background-color:$info;">`Building on Github`</mark> step without any visible change nor any new deployment workflow triggered on the GitHub side.

For example, after [activating the File Storage capabilities](https://poja.gitbook.io/poja-docs/examples/hello-world-with-s3-file-storage) of Poja, it should generate the `BucketComponent` class that allows you to upload and download files to/from a cloud bucket.

However, you notice that no changes have been pushed to your GitHub repository, the `CD Compute` workflow has not been triggered, and your deployment fails on the `Building on Github` step.

<figure><img src="/files/7NwKV2MEEM5KQVzWyYnX" alt=""><figcaption></figcaption></figure>

### The solution <a href="#the-solution" id="the-solution"></a>

Poja needs direct push access to the `prod` and `preprod` branches of your GitHub repository. If you have set up a branch protection rule on either of those branches, **you have to include the** `poja-app` **GitHub App in the bypass list** to grant it the necessary permissions.

Follow the instructions below depending on your protection rule type:

* For **classic protection rules**: go to **Settings > Branches > Edit** your existing protection rule **> Allow specified actors to bypass required pull requests**, then select `poja-app`
* For **rule-sets**: go to **Settings > Rules > Edit** your rule-set, then **add the** `poja-app` **GitHub App to the Bypass list**

{% hint style="info" %}
**Note**

The `Allow specified actors to bypass required pull requests` option is only available for repositories inside an organization. For personal repositories, you have to convert your branch protection rule into a rule-set first.
{% endhint %}

<figure><img src="/files/Glp5OVMosfkKZqxyFaYL" alt=""><figcaption></figcaption></figure>

[^1]: In the context of Poja, refers to a version of an application with two possible values *prod* and *preprod*. Each environment has *one* corresponding branch with the same name on the Github repository, deployments of the environment are triggered by *commit and push* on the corresponding branch
