Если кому-нибудь пригодится в дальнейшем. Решил задачу с помощью GitLab CI\CD.
Код на примере репозитория libgit2.
Так же необходимо добавить проверку на наличие изменений в libgit2, иначе pipline будет падать с ошибкой:
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
## compile – название процесса, потом увидим его в интерфейса
compile:
## stage – этап билда, по дефолтку их три: build, test, deploy.
## Для нас в данной ситуации это не критично
stage: build
## переходим к самому крипту
script:
- git clone https://your/repo.git --depth 1
- git clone https://github.com/libgit2/libgit2.git
- cd libgit2
- git checkout v1.0.0
- cd ..
- rm -r repo/libgit2
- mv libgit2 repo
- cd atm_custom
- git add --all
- git config --local --replace-all user.email "noreply@yourmail.com"
- git config --local --replace-all user.name "Gitlab CI"
- git commit -m '[skip ci]Automated commit for CI'
- git push https://your/repo.git