> ## Content Index
> Fetch the complete content index at: https://www.techielass.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Trigger a GitHub Actions workflow when a folder changes
- URL: https://www.techielass.com/trigger-a-github-action-workflow-when-a-folder-changes/
- Published: 2022-04-18T07:01:00.000Z
- Updated: 2024-05-06T10:03:41.000Z
- Description: Join me as I look at how you can trigger when a GitHub Actions workflow runs.
- Author: Sarah Lean
- Tags: GitHub Actions, Git, Git for everyone, DevOps

Step into my world of [GitHub](https://www.techielass.com/tag/github) wizardry, where every line of code counts and every workflow tweak matters. 

Picture this: I'm knee-deep in GitHub repositories, juggling software code and infrastructure as code with finesse. 

But there's a hitch—I noticed that each software tweak triggered an unwanted infrastructure overhaul. 

Frustration set in, until I stumbled upon a game-changing solution: GitHub Actions triggers! 

Join me as I unravel the magic of GitHub Actions and unveil how to wield its power to trigger workflows precisely when folders change.

## What is an GitHub Actions workflow?

Within GitHub, a GitHub Actions workflow is an automated process that can be set up within your repositories. A GitHub Actions workflow can automate tasks and jobs for you. It can help you build your Continuous Integration/Continuous Delivery (CI/CD) pipelines. 

## GitHub Actions triggers

When you create a GitHub Action, you can specify when it runs, this is called a trigger. 

You can identify triggers, such as when new code is pushed to the repository or when a pull request is actioned, the workflow will spin into action. 

Usually, these triggers are set to kick off when a change happens to a specific branch. But you can take that down another level. You can specify if a change occurs to a particular directory or path within a branch, and the workflow will kick start. 

In this example below, you can see the start of a workflow where the workflow will be triggered when changes are pushed into the folder "MyFirstFolder" within the central repository. 

```yaml

name: Workflow example

on:

  push:
    branches:
    - main
    paths:
    - MyFirstFolder
    

jobs:

  build:
 

```

If changes are made out with the "MyFirstFolder", the workflow won't be triggered. 

What this means is you can have workflows for different purposes within your repository. As I mentioned earlier means, I can store my software code and infrastructure as code within a GitHub repository, with different workflows for each only being triggered when I make a change to that specific code. 

## Wildcard Triggers

But you can also be less specific than using a folder name. Below is a small example where you specify a file type, this time an Azure Bicep file, to be the trigger for the workflow. 

```
name: Workflow example

on:

  push:
    paths:
    - '**.bicep'
    

jobs:

  build:

```

## Excluding paths

You could do it another way by excluding folders. In the example below on, push events that include at least one file outside the MyFirstFolder directory. 

```
name: Workflow example

on:

  push:
    paths-ignore:
      - 'MyFirstFolder/**'
    

jobs:

  build:

```

There is a lot of flexibility with GitHub Action workflows and making them trigger. So try it out, experiment and make workflows work for you. 😉