Contributing
- Make sure you have Python 3.7.x or greater. If not then look at PyEnv
- run
git clone git@github.com:DataStax-Toolkit/sperf.git
- run
cd sperf
- run
python3 -m venv ./venv
- run
source ./venv/bin/activate
- run
pip install -r requirements_dev.txt
to install dev dependencies - run
./scripts/sperf -h
and you should see the help forsperf
Testing and validation
make sure you have Make installed
- run
make test
- run
make lint
CI Server
This is done using GitHub actions are are located here and automatically run tests on python 3.7-3.9 on Windows, Mac and Linux
Creating a binary
Manually
If you want to test the project or create a binary just out of your local work run the script make build
which
will generate a binary ready for use on your platform. However, be aware
of limitations with this method detailed here for Linux and for Mac and
it may not be able to share it with your very old OS X or old Debian server.
Automatically and Creating a Release
Releases are created when a tag starting with v is created. Watch the jobs progress in GitHub Actions and if it succeeds, it is safe to go ahead and move the release from draft status to public. See directions on how to publish releases on GitHub
Note until you publish the release, the binaries created will not be publicly available. If you need to change the behavior of the release go ahead and edit the release workflow file
Regenerating the command documentation
The docs/command.md
is generated from the latest help and is not automatically checked in. To regenerate run python scripts/doc.py
This will run against each command and subcommand and generate an entry in the commands.md
file. This step must
be done manually or else the help files in the command line tool will get out of sync with the website.