Skip to content

Trigger deploys on Netlify with submodules

I wanted to rebuild my site on Netlify any time I did a new commit on a Git submodule included in the repo.

Unfortunately Netlify does not do this by default, only the main repository is “watched” for new commits.

So I did this.

I went in the Deploy settings and in “Build hooks” I clicked “Add build hook”.

Saving this gave me a unique URL I could call, something like https://api.netlify.com/build_hooks/UNIQUE_STRING.

Then I created a GitHub Action in the submodule repository:

name: Trigger redeploy on Netlify
on:
  push:
    branches: [ "main" ]
jobs:
  build:
    name: Make POST request
    runs-on: ubuntu-latest
    steps:
      - name: Curl request
        shell: bash
        env:
          UNIQUE_STRING: ${{ secrets.NETLIFY_BUILD_HOOK_UNIQUE_STRING }}
        run: curl -X POST -d {} https://api.netlify.com/build_hooks/$UNIQUE_STRING

Add the value of the Netlify UNIQUE_STRING value you to above in NETLIFY_BUILD_HOOK_UNIQUE_STRING Action secret in your repo Settings -> Secrets -> Actions.

Commit the action and the deploy should already be working:


→ Want to actually learn Git? Want to stop feeling frustrated with it? I created the Git Masterclass to solve this problem!

→ I wrote 17 books to help you become a better developer:

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook
...download them all now!

Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list