kani icon indicating copy to clipboard operation
kani copied to clipboard

Possibly create Kani Github Action

Open tedinski opened this issue 2 years ago • 3 comments

It might make things easier for customers if they can simply make use of a github action to run Kani on their code. Ideally this would be as simple as (for example) how we publish our ghpages:

- name: Run proofs
  uses: model-checking/kani-github-action@v1

tedinski avatar Jun 28 '22 17:06 tedinski

Just heard about a project that would be interested in using an action like this.

By default, it should run cargo kani. But we should also provide the option to call a set of proofs, or exclude some proofs from executing (this is desirable if some proofs are failing, since we don't have the "expect-fail" annotation yet).

Another thing to take into account is that some proofs may need to enable flags. Do we want an annotation for extra flags?

adpaco-aws avatar Jul 20 '22 18:07 adpaco-aws

Yeah, I think the idea is for annotations to do that work. I'm not sure if they could be arbitrary flags (easily, that is, it'd take some work to restructure how we do things...)

tedinski avatar Jul 20 '22 18:07 tedinski

+1 for this feature. We had potential customers at my mid-internship talk who would be interested in using it in CI. Implementing it would go a long ways in terms of easing adoption.

https://github.com/tokio-rs/prost.git

YoshikiTakashima avatar Jul 28 '22 20:07 YoshikiTakashima

There are some docker files that already exist for testing the Kani install procedure on different OSes that might serve as a starting point. For instance here is the ubuntu-latest one: https://github.com/model-checking/kani/blob/main/scripts/ci/Dockerfile.bundle-test-ubuntu-22-04

tedinski avatar Aug 16 '22 18:08 tedinski

More details in #1587, but I think it would be better experience customer-side if the actions uses a pre-built docker image that is stored on GHCR/ECR. That's how it's done for codeguru etc.

I'll PR the action.yml and test by hosting the image on my fork with GHCR, but I would like a discussion WRT to the permanent solution.

YoshikiTakashima avatar Aug 25 '22 18:08 YoshikiTakashima

Released action

danielsn avatar Nov 01 '22 16:11 danielsn