Gitlab CI Building only changed maven modules
Only rebuild maven modules that were changed
script:
# generating list of modules to build
- git diff --name-only origin/master~$(git rev-list origin/master --not HEAD --count) | grep -E '(module1|module2|module3)/[a-zA-Z0-9-]+' | sed -E 's/^[a-zA-Z0-9-]+\/([a-zA-Z0-9-]+)\/([a-zA-Z0-9-]+)\/.+$/\1-\2/g' | sort --unique > changed.modules || true
# marking modules as changed
- echo "my-backend" >> changed.modules
- echo $(lastSuccessfulCommit)
- npm ci
- mvn -B -T 1C $(shouldSkipNPM) -Ppartial -Dpartial.referenceBranch=$(lastSuccessfulCommit) -Dpartial.ignoreAllReactorProjects=true -am org.jacoco:jacoco-maven-plugin:prepare-agent install docker:build jib:build docker:push jacoco:report -Ddocker.tag=${CI_COMMIT_REF_SLUG}-SNAPSHOT