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

Run CIRCT Integration Tests in CI #1608

Open
andrewb1999 opened this issue Jul 16, 2023 · 7 comments
Open

Run CIRCT Integration Tests in CI #1608

andrewb1999 opened this issue Jul 16, 2023 · 7 comments
Labels
AMC Needed for Andrew's memory compiler C: CIRCT Changes for the CIRCT backend

Comments

@andrewb1999
Copy link
Collaborator

We should work towards including the CIRCT frontend flow in CI for integration testing. This way we can know what changes to Calyx may affect the CIRCT frontend and also give us much more confidence in the quality of the CIRCT frontend. This will especially be useful since it will be much easier to create integration test cases than the CIRCT FileCheck test cases.

@andrewb1999 andrewb1999 added C: CIRCT Changes for the CIRCT backend AMC Needed for Andrew's memory compiler labels Jul 16, 2023
@rachitnigam
Copy link
Contributor

Heck yes! This is something we should definitely invest time in. The first step is figuring out if there a pre-built CIRCT/AMC docker we can pull in. If not, we can try setting it up using Depot which is what we use for the Calyx docker files.

Once we have that, other things should be pretty straightforward!

@sampsyo
Copy link
Contributor

sampsyo commented Jul 17, 2023

Good point about pulling in a pre-built Docker thing; that would make things a lot easier! Barring that, setting up this kind of testing as a nightly workflow (as opposed to the standard GitHub Actions "on every commit to master and every pull request") action could help cope with how slow it will be to build the CIRCT stuff from scratch.

@andrewb1999
Copy link
Collaborator Author

Yeah this definitely seems like something that should be run nightly. I'm not sure there's anywhere that builds docker images for CIRCT with any regularity. Running nightly on the current heads of both CIRCT and Calyx seems like it would work out fine.

@rachitnigam
Copy link
Contributor

@andrewb1999 since we've punted on the deadline, let's figure out how we can get this working sooner rather than later

@rachitnigam
Copy link
Contributor

rachitnigam commented Aug 17, 2023

CIRCT binaries are now available as release artifacts: llvm/circt#5832.

EDIT: Sorry, that PR only uploads the static libs for the binaries. We might need to do some more work to enable building of hlstool binary or something.

@SpriteOvO
Copy link

CIRCT binaries are now available as release artifacts: llvm/circt#5832.

EDIT: Sorry, that PR only uploads the static libs for the binaries. We might need to do some more work to enable building of hlstool binary or something.

No, that PR uploads all binaries for both libraries and executables, hlstool is also included.

circt-full-shared-libs-{os}-{arch}.tar.gz means circt-full (bin, lib, headers, also these for llvm) with CMake option BUILD_SHARED_LIBS enabled.

@rachitnigam
Copy link
Contributor

rachitnigam commented Aug 17, 2023

Oh, awesome! I'm glad to be wrong about this then! We can go ahead and start adding CIRCT to the CI for Calyx now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AMC Needed for Andrew's memory compiler C: CIRCT Changes for the CIRCT backend
Projects
None yet
Development

No branches or pull requests

4 participants