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

Add simple abi checker util #1428

Merged

Conversation

kdt3rd
Copy link
Contributor

@kdt3rd kdt3rd commented May 23, 2023

No description provided.

Signed-off-by: Kimball Thurston <kdt3rd@gmail.com>
Signed-off-by: Kimball Thurston <kdt3rd@gmail.com>
Signed-off-by: Kimball Thurston <kdt3rd@gmail.com>
@cary-ilm
Copy link
Member

Thanks, this is going to be helpful! I tried running the script, and the "git checkout ${libver_old}" clobbered the script when it checkout out the old version in place. How about having the script download a zip from the release tag and compare that to the current repo, so no automatic checking out of anything?

@meshula
Copy link
Contributor

meshula commented May 23, 2023

This is a great idea.

@kdt3rd
Copy link
Contributor Author

kdt3rd commented May 24, 2023

oh, haha, i tested this with it uncommitted and didn't even think about the fact it would nuke the script checking out an old version. These are scripts I normally just have in my source root, but seemed like they might be helpful for people wanting to play with this stuff since you all were asking about it in a previous TSC meeting. Yes, makes way more sense to have it shallow clone or download a release tag (I presumed we would want to test against a thing before it is released, so may still need to clone).

@lgritz
Copy link
Contributor

lgritz commented May 24, 2023

So, I do this for some internal projects, and what I do is actually check into git the ABI dump of the standard I'm trying to hit. Then I compare against that reference when I do the ABI test (and obviously, update the reference standard when I know I'm purposely altering the ABI). For a big package especially, it's too onerous to have to do a second checkout and full build in order to do the check.

The downside is that the reference abi dump is only valid for one build configuration out of your CI matrix, but so what, I only do the ABI check on that one and assume that it's unlikely that I'll break ABI only for one compiler or whatever.

Copy link
Member

@cary-ilm cary-ilm left a comment

Choose a reason for hiding this comment

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

After @hobbes1069 mentioned abipkgdiff, I've come prefer it over this alternative, since it's easily binary-installable, but there's no reason to not add this share area, even if does need some work to not self destruct when you run it.

@cary-ilm cary-ilm merged commit 726fde3 into AcademySoftwareFoundation:main Aug 3, 2023
27 checks passed
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.

None yet

4 participants