GitHub - sigstore/sigstore-conformance: Conformance testing for Sigstore clients (original) (raw)

sigstore-conformance

CI Self-test

sigstore-conformance is a conformance testing suite for Sigstore clients.

This suite provides a high-level view of client behaviour as a whole and sets out to answer questions such as:

An official Sigstore client specification is being worked on at the moment as part of the Sigstore Architecture Documentation. Once it's complete, sigstore-conformance aims to be able to test a client's adherence to the specification.

Some general testing principles for this suite are:

Usage

  1. Include an executable in your project that implements the client-under-test CLI protocol.
  2. Use the sigstore/sigstore-conformance action in your test workflow:
    jobs:
    conformance:
    runs-on: ubuntu-latest
    steps:
    • uses: actions/checkout@v4

    insert your client installation steps here

    Run tests against production Sigstore environment

    Run tests against staging Sigstore environment

See sigstore-python conformance testfor a complete example.

sigstore/sigstore-conformance action inputs

The important action inputs are

See action.yml for full list of inputs.

Development

Easiest way to run the conformance suite locally is with the provided virtual environment:

$ make dev $ source env/bin/activate (env) $

The test suite can be configured with

(env) $ # run all tests (env) $ pytest test --entrypoint=$SIGSTORE_CLIENT (env) $ # run verification tests only (env) $ pytest test --entrypoint=$SIGSTORE_CLIENT --skip-signing

Following example runs the test suite with the included sigstore-python-conformance client script:

(env) $ # run all tests (env) $ GHA_SIGSTORE_CONFORMANCE_XFAIL="test_verify_with_trust_root test_verify_dsse_bundle_with_trust_root"
pytest test --entrypoint=sigstore-python-conformance

Licensing

sigstore-conformance is licensed under the Apache 2.0 License.

Code of Conduct

Everyone interacting with this project is expected to follow thesigstore Code of Conduct

Security

Should you discover any security issues, please refer to sigstore's security process.