https://github.com/cloudbees-oss/smart-tests-cli
Smart Tests CLI
https://github.com/cloudbees-oss/smart-tests-cli
Last synced: about 1 month ago
JSON representation
Smart Tests CLI
- Host: GitHub
- URL: https://github.com/cloudbees-oss/smart-tests-cli
- Owner: cloudbees-oss
- License: apache-2.0
- Created: 2020-10-02T08:38:02.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-02-16T10:55:53.000Z (about 1 month ago)
- Last Synced: 2026-02-16T15:24:12.007Z (about 1 month ago)
- Language: Python
- Homepage: https://pypi.org/project/smart-tests-cli/
- Size: 227 MB
- Stars: 26
- Watchers: 6
- Forks: 13
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Usage
See https://help.launchableinc.com/resources/cli-reference/ and
https://help.launchableinc.com/sending-data-to-launchable/using-the-launchable-cli/getting-started/.
# Development
## Preparation
We recommend uv for dependency management:
```shell
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync --dev
```
In order to automatically format files with autopep8, this repository contains a
configuration for [pre-commit](https://pre-commit.com). Install the hook with
`uv run pre-commit install`.
## Load development environment
```shell
# Activate virtual environment
source .venv/bin/activate
# or use uv run for individual commands
uv run
```
From this shell, run `pip install -e .` to create `launchable` wrapper script from the workspace.
This is useful to test the CLI with real/local server.
## Run tests cli
```shell
# Using poethepoet (recommended)
uv run poe test
# Direct command
uv run python -m unittest
```
## Run tests exe_deploy.jar
```
bazel test ...
```
## Available Development Tasks
This project uses [poethepoet](https://poethepoet.natn.io/) for task management. Available tasks:
```shell
# Show all available tasks
uv run poe --help
# Run tests
uv run poe test
# Run tests with XML output
uv run poe test-xml
# Run linting
uv run poe lint
# Run type checking
uv run poe type
# Format code
uv run poe format
# Build package
uv run poe build
# Install package locally
uv run poe install
```
## Add dependency
```shell
# Add runtime dependency
uv add some-package
# Add development dependency
uv add --dev some-dev-package
```
## Updating Python Version
When updating the Python version requirement, update the following files:
1. **`.python-version`** - Used by pyenv, uv, and local development
2. **`pyproject.toml`** - Update `requires-python = ">=X.Y"`
3. **`setup.cfg`** - Update `python_requires = >=X.Y`
4. **`.github/workflows/python-package.yml`** - Update `python-version: ["X.Y"]`
5. **`.github/workflows/python-publish.yml`** - Update `uv python install X.Y`
6. **`README.md`** - Update prerequisite section
7. **`CLAUDE.md`** - Update development notes
# How to release
Create new release on Github, then Github Actions automatically uploads the
module to PyPI.
## How to update smart_tests/jar/exe_deploy.jar
```
./build-java.sh
```
# Installing CLI
You can install the `smart-tests` command from either source or [pypi](https://pypi.org/project/smart-tests/).
## Prerequisite
- \>= Python 3.13
- \>= Java 8
## Install from source
```sh
$ pwd
~/cli
$ python setup.py install
```
## Install from pypi
```sh
$ pip3 install --user --upgrade smart-tests~=1.0
```
## Versioning
This module follows [Semantic versioning](https://semver.org/) such as X.Y.Z.
* Major (X)
* Drastic update breaking backward compatibility
* Minor (Y)
* Add new plugins, options with backward compatibility
* Patch (Z)-
* Fix bugs or minor behaviors