On Sat Jun 10, 2023 at 9:17 AM CDT, Peter Eisentraut wrote:
> I have rearranged this a bit. There are now two build options, called
> abidw and abidiff. The abidw option produces the xml file, that you
> would then at appropriate times commit into the tree as the base. The
> abidiff option enables the abidiff tests. This doesn't actually require
> abidw, since abidiff can compare the binary directly against the
> recorded XML file. So these options are distinct and nonoverlapping.
>
> Note that in this setup, you still need a conditional around the abidiff
> test() call, because otherwise meson setup will fail if the base file
> doesn't exist (yet), so it would be impossible to bootstrap this system.
Could you speak more to the workflow you see with managing the checked
in diff files?
At my previous job, I had tried to do something similar with regard to
making sure we didn't break ABI[0], but I took a different approach
where instead of hooking into the Meson test infrastructure, I used a CI
job where I checked out the previous major version of the code and the
current version of the code, built both, and checked the built binaries.
The benefit of this workflow is that you don't check anything into the
source repo.
I think the same approach might be better here, but instead of writing
it all into the CI file like I did, use a perl script. Then once you
have the perl script, it could be possible to then hook into the Meson
test infrastructure.
> There is something weird going on where the cirrus linux/meson job
> doesn't upload the produced abidw artifacts, even though they are
> apparently built, and the equivalent works for the freebsd job. Maybe
> someone can see something that I'm not seeing there.
Nothing obvious is wrong to me. Was the failure maybe just a fluke?
[0]: https://github.com/hse-project/hse/blob/master/.github/workflows/abicheck.yaml
--
Tristan Partin
Neon (https://neon.tech)