На момент написания статьи, у drone.io есть неприятная особенность — он не обновляет Pull Request при изменениях в слияемых ветках. То есть, при поступлении хука от SCM он заново запускает сборку со старым репозиторием.
Для того, чтобы заставить Drone обновить PR, добавьте в начало pipeline в .drone.yml следующий текст:
update_pr: image: plugins/git commands: - export BRANCH_SRC=origin/${DRONE_COMMIT_REFSPEC%%:*} BRANCH_DST=origin/${DRONE_BRANCH} - cp -rpf .git .git.bak - git fetch && git checkout $BRANCH_SRC && git merge --no-commit $BRANCH_DST - rm -rf .git && mv -f .git.bak .git when: event: pull_request
Данный сниппет подразумевает, что remote во время сборки называется origin (по умолчанию).