Code Monkey home page Code Monkey logo

kani-github-action's People

Contributors

adpaco-aws avatar amazon-auto avatar celinval avatar danielsn avatar feliperodri avatar jaisnan avatar karkhaz avatar qinheping avatar rahulku avatar remi-delmas-3000 avatar tautschnig avatar tedinski avatar tottoto avatar yoshikitakashima avatar zhassan-aws avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kani-github-action's Issues

Decouple Kani-github-action version from Kani

As of now, the version number of kani-github-action is tied 1:1 to the version number of Kani. This should be decoupled and the kani-github-action should pull in the latest version of Kani by default unless a specific version of Kani is pinned by the user.

Improve README.md

I suggest that we restructure the action read me to the following:

Quick description about the action (not the repo). Include one sentence about Kani and a link to it.

Quick Start

Action Parameters

Input Description
command Blah blah

Tracking issue for improving test coverage of the action

Currently, we only test a single small cago-kani example. Possible improvements

  • Example that needs workspace
  • Example that needs --tests
  • example that has dependencies
  • example where the rust version matters
  • examples with different kani versions

Allow specifying the Rust toolchain to use

In a recent zerocopy PR, we had to stop testing our nightly-only features under Kani. The reason is that those features were recently updated to work with a more recent version of the nightly Rust toolchain, and so are now incompatible with older nightlies. Since the Kani GH action selects its own toolchain, it makes that action incompatible with our nightly-only features. At the moment, we don't use Kani to test any of those features, so we simply disabled those features when using Kani. In the future, though, this could become a problem for us if we want to use Kani to test nightly-only features.

It would be great if the Kani GH action allowed specifying which Rust toolchain to use.

Here's the code in question from our Kani GH action invocation in CI:

          # Use `--features __internal_use_only_features_that_work_on_stable`
          # because the Kani GitHub Action uses its own pinned nightly
          # toolchain. Sometimes, we make changes to our nightly features for
          # more recent toolchains, and so our nightly features become
          # incompatible with the toolchain that Kani uses. By only testing
          # stable features, we ensure that this doesn't cause problems in CI.
          args: "--package zerocopy --features __internal_use_only_features_that_work_on_stable --output-format=terse --randomize-layout --memory-safety-checks --overflow-checks --undefined-function-checks --unwinding-checks"

Initial Github Action

There should be a simple GitHub action that Kani users can use to verify their GitHub code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.