Use Pytest for testing, enable step version tests #342
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR moves testing from tox + podman to Pytest and Docker and enables testing multiple versions of the smallstep tools in CI
Rationale:
With the planned release of the 1.0 version of this collection, we are getting rid of the lockstepped version requirement for smallstep tools. This requires that we specify a minimum supported smallstep version and thus also test it in CI.
Instead of implementing this for the old tox-based setup, this PR instead runs ansible tests with a Pytest-based approach.
This is done for the following reasons:
pytest
, we can offer much better integration into existing tooling - test cases show up in IDEs/Editors, and running them is as easy as typingpytest
once the dependencies are installeddocker-compose
files in tests and instead access the docker CLI directly, as done in the test fixturesThe collection-testing orb has already released a new version with the required pytest command and with parallelism support on a per-test basis
Partially addresses #335. The README has intentionally been left untouched as the step-cli versions used in CI are provisional. We should decide on what minimum version to support with the full 1.x release once all other features are implemented