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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions