Skip to content

abi-api-compliance-check: Update for new merge strategy

Thomas Ives requested to merge 1104-update-abi-api-compliance-check into main

With #1098 (closed) we have changed our merge strategy from "Merge commit with semi-linear history" to "Merge commit" to avoid having to rebase MR's to main before merging. The abi-api-compliance-check job was relying on these rebases to ensure that the target branch was a direct ancestor of the MR branch, this is no longer the case with the "Merge commit" strategy. In fact, the job currently fails on the following line if we have not done a rebase:

old_revision=$(git merge-base --fork-point origin/${CI_TARGET_BRANCH} HEAD)

With our new merge strategy what we actually want to test is whether merging the MR branch into the target branch breaks abi/api compatibility. In this commit we change the job to test exactly this. We now prepare a merged version of the library to compare to the version produced by the target branch.

As we are generating a non-committed version of cppTango with git merge ${revison} --no-commit, revisions are no longer very meaningful and cannot be cross-referenced with the git history. As such, we now just name versions of the library as "old" and "new" (with -lver) to clarify which version is which.

Closes #1104 (closed)

Merge request reports