monorepo-gitwatcher
                                
                                 monorepo-gitwatcher copied to clipboard
                                
                                    monorepo-gitwatcher copied to clipboard
                            
                            
                            
                        detect changes to certain folders in a monorepo
example for a jenkins job
trigger_build="$(./detectGitChanges.sh path/to/folders.watch)"
if [[ "x$trigger_build" == "xfalse" ]]; then
  echo "no changes detected...  exiting."
  exit
fi
example of a pipeline job
stage('example job') {
            when {
                expression {
                    return "true" == sh(returnStdout: true, script: './tools/detectGitChanges.sh path/to/folders.watch | tail -n 1').trim()
                }
            }
            steps {
                build job: 'job-to-run', wait: true
                script {
                     env.CHANGES = "true"
                }
            }
        }
Gitlab CI pipeline example
deploy_unit_abc:
  <<: *setup
  stage: deploy
  only:
    - master
  script:
    - detectGitChanges.sh folder/folders.watch docker-compose build ${CI_JOB_NAME#*_*_}
  artifacts:
    expire_in: 1 week