Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add abidiff workflow #2054

Merged
merged 1 commit into from
Feb 14, 2025
Merged

ci: add abidiff workflow #2054

merged 1 commit into from
Feb 14, 2025

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