Skip to content

Testing both debug and release builds in CI #23

@tarcieri

Description

@tarcieri

Note: some past discussion in RustCrypto/MACs#186

Several of our projects test --release builds in CI: https://github.com/search?q=org%3ARustCrypto+cargo+test+--release+language%3AYAML&type=code&l=YAML

Many of our projects currently test release builds exclusively. I think where we're not testing debug builds, we probably should, in order to test debug assertions. We can probably do things like cargo hack and feature-by-feature testing in debug builds. But I think we should still include something like cargo test --release --all-features to test release builds, possibly as its own job which can run in parallel.

Debug versus release builds involve conditional compilation, so testing debug builds exclusively doesn't give you a full picture of what happens in a release build. Only testing the release build can do that, and IMO release builds are what actually matter. This is why I originally included testing --release builds in the CI boilerplate. In general we test many other combinations as we're attempting to produce high-assurance software, so testing both debug and release builds seems like standard practice to me.

Some examples of other Rust cryptography projects which test release builds in CI:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions