This PR adds a .ci directory to the repository with contents that will allow tests to be run on CI in the future.
The .ci directory contains a DockerFile that compiles the client package in test mode (i.e. it compiles dependencies also used in tests), currently Debug/Unoptimized. The container is currently based on rust nightly because the reqwest dependency is a preview that depends on another crate that uses features that do not allow it to be run on stable. Once these stabilize, stable should be used rather than nightly.
Shell and PowerShell scripts are included that
Create a docker network
Start Elasticsearch in a container and expose it on the network
Runs cargo test against the client container
CI uses the shell scripts, and the PowerShell scripts are provided to allow running it locally on Windows.
This PR adds a .ci directory to the repository with contents that will allow tests to be run on CI in the future.
The .ci directory contains a DockerFile that compiles the client package in test mode (i.e. it compiles dependencies also used in tests), currently Debug/Unoptimized. The container is currently based on rust nightly because the
reqwest
dependency is a preview that depends on another crate that uses features that do not allow it to be run on stable. Once these stabilize, stable should be used rather than nightly.Shell and PowerShell scripts are included that
cargo test
against the client containerCI uses the shell scripts, and the PowerShell scripts are provided to allow running it locally on Windows.