Skip to content

Conversation

@Tachi107
Copy link
Contributor

@Tachi107 Tachi107 commented Feb 14, 2025

This CI workflow checks ABI compatibility between the pushed commit and the previous, helping preventing accidental ABI breaks.

Helps with #2043

Cc: @mgorny

@Tachi107
Copy link
Contributor Author

Note: I'm not sure this works correctly on pull requests, since they may contain more than one commit.

@Tachi107 Tachi107 force-pushed the abidiff branch 2 times, most recently from ac1fa26 to 8d46cc6 Compare February 14, 2025 13:13

- name: Checkout previous
working-directory: previous
run: git checkout HEAD^
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you try git checkout $(git describe --tags --abbrev=0 master)?
$(git describe --tags --abbrev=0 master) gives us the commit hash for the latest version tag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean diffing the current commit with the previous release? Brilliant! Didn't think about it :)

@yhirose
Copy link
Owner

yhirose commented Feb 14, 2025

Note: I'm not sure this works correctly on pull requests, since they may contain more than one commit.

Thanks a lot for taking care of it! I made a comment about how to get the commit hash for the latest version tag. Could you try with it to see how it goes?

@Tachi107 Tachi107 force-pushed the abidiff branch 4 times, most recently from 92437fc to 7b972d5 Compare February 14, 2025 17:24
This CI workflow checks ABI compatibility between the pushed commit and
the latest tagged release, helping preventing accidental ABI breaks.

Helps with yhirose#2043
@Tachi107
Copy link
Contributor Author

Thanks a lot for taking care of it! I made a comment about how to get the commit hash for the latest version tag. Could you try with it to see how it goes?

Done! The job now fails because it has detected breaking changes since the last tagged release, and abidiff returns a status code of 12, which means ABIDIFF_ABI_CHANGE and ABIDIFF_ABI_INCOMPATIBLE_CHANGE according to its manpage.

@yhirose yhirose merged commit bfa2f73 into yhirose:master Feb 14, 2025
4 of 5 checks passed
@yhirose
Copy link
Owner

yhirose commented Feb 14, 2025

Thanks for the great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants