On Fri, Jul 1, 2022 at 6:25 PM Michael S. Tsirkin <m...@redhat.com> wrote: > > On Fri, Jul 01, 2022 at 03:44:32PM +0530, Ani Sinha wrote: > > but I thought you were suggesting we built bits every time the test is run? > > In my opinion 3 scenarios are worth supporting: > - people not touching ACPI, including users - simply don't run the tests, > comparing tables with expected output should be enough > - people making changes indirectly affecting ACPI - > use tests to validate that tables are still well formed, > using a pre built binary should be enough IMO > - people working on ACPI - use tests to analyse the tables, > building from source might be necessary for debugging, > sources change very rarely > - people developing the tests > building from source is required > > So I would suggest basically two github repos, one with binaries one with > sources. We'll keep relevant hashes to use in the script. > All in all not that different from submodules but I guess > people have submodules and that is that. > > And I personally would probably not tie it to CI whoever owns the > repository can worry about the builds, and I think keeping > things distributed is important. > > So > - people not touching ACPI - make check should see directory not found > and skip the test > - people making changes indirectly affecting ACPI - > check out binaries and use > - people working on ACPI - > see that source directory is present, go there > and run make. should not rebuild each time right? > - people developing the tests > building from source is required
Ok I have now committed a Dockerfile that has all the build time dependencies and builds bits and generates the tarballs/zip file that my test requires: https://github.com/ani-sinha/bits/blob/bits-qemu-logging/Dockerfile We just need to fork the repo and generate automated builds with this Dockerfile and put the binaries somewhere. This should also help developers requiring to rebuild bits when necessary. Oh and btw, I also made bits compliant with the latest gcc 11 compiler that comes with Ubuntu 22.04 LTS :-)