smart-tests-cli 2.6.0__tar.gz → 2.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/workflows/publish.yml +0 -7
- {smart_tests_cli-2.6.0/smart_tests_cli.egg-info → smart_tests_cli-2.7.0}/PKG-INFO +1 -1
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/__main__.py +2 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/typer/__init__.py +4 -2
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/__init__.py +2 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/build.py +41 -0
- smart_tests_cli-2.7.0/smart_tests/commands/record/deployment.py +47 -0
- smart_tests_cli-2.7.0/smart_tests/commands/update/__init__.py +11 -0
- smart_tests_cli-2.7.0/smart_tests/commands/update/alias.py +48 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/verify.py +21 -11
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/commands.py +4 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0/smart_tests_cli.egg-info}/PKG-INFO +1 -1
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests_cli.egg-info/SOURCES.txt +6 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_build.py +108 -9
- smart_tests_cli-2.7.0/tests/commands/record/test_deployment.py +59 -0
- smart_tests_cli-2.7.0/tests/commands/test_verify.py +109 -0
- smart_tests_cli-2.7.0/tests/commands/update/test_alias.py +69 -0
- smart_tests_cli-2.7.0/tests/utils/__init__.py +0 -0
- smart_tests_cli-2.6.0/tests/commands/test_verify.py +0 -53
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.bazelrc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.bazelversion +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.dockerignore +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.editorconfig +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/release.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/workflows/bazel-test.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/workflows/e2e.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/workflows/test.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.github/workflows/update_maven_install_json.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.gitignore +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.pre-commit-config.yaml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.python-version +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/.tagpr +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/CLAUDE.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/CONTRIBUTING.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/Dockerfile +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/LICENSE.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/WORKSPACE +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/build-java.sh +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/pyproject.toml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/renovate.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/scripts/update_docs.sh +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/setup.cfg +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/setup.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/app.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/argument.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/command.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/converters/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/decorators.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/exceptions.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/option.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/args4p/parameter.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/compare/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/compare/subsets.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/detect_flakes.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/gate.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/get/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/get/docs.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/inspect/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/inspect/model.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/inspect/subset.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/attachment.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/case_event.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/commit.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/session.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/record/tests.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/stats/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/stats/test_sessions.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/subset.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/commands/test_path_writer.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/antora.yml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/0607-inference.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/0607-subset-creation.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/0607-training.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/507088cf-209d-4856-be3e-60477c166d92.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/confidence-curve.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/customer-example-curve.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/data-flow.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/demo.gif +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions-prioritized.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/flavors.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/github-comment.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/groups-2-record-after.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/how-long-train-ml-model.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/icons/icon-vertical-three-dots-dark.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/illustion-run-whitelisted-tests-1.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-ignore-flakes-1.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-rotate-optimize-coverage.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-run-recently-failed-tests.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/in-place.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/link-to-results-example.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/model-training-evaluation-confidence-curves.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/new-code-existing-tests.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/object-model-june.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/object-model-v2.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/object-model.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/optimization-target.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/predictive-test-selection-observation-mode.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/prioritized-evaluation-session.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/pts-v2-working.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/recording-data.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately-detailed.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-41-20.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-44-15.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-45-10.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-08-22-at-22-50-49.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-1-48-30-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-2-14-11-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-4-50-56-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-06-32-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-09-04-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-21-37-pm.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/builds-dashboard.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/create-api-key.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/initial-settings.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/record-session.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/test-session-interface.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/shift-left.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/single-session-compared.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/single-session-result.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/slack-desktop-with-app-messages.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-subset-formation-flow.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-builds-interface-v1png.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-cli-3.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-monthly-time-saved.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_api_key_setting_20210613.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_invite_url_20220613.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_settings_20220613.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/subscription-ux.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/subset-creation.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/subset-exclude.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/subsetting-diagram-2x.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/target-line.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-insights-example.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-pyramid.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-runs-log.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-2.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-3.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-4.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-details-with-content.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-report-example.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/test-sessions-layout.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/testing-bottleneck-infinity.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/training-wheels.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/trends.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/triage-email-demo.avif +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/use-case-1.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/use-case-2.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/assets/images/zis-with-groups.png +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/nav.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/pages/getting-started.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/pages/index.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/partials/abbr.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/ROOT/partials/conditionals.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/branch.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/build.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/insight.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/object-model.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/organization.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/subset.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/test-session.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/test-suite.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/concepts/pages/workspace.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/intelligent-test-failure-diagnostics.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/faq.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/how-we-select-tests.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/observe-subset-behavior.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/choose-a-subset-optimization-target/choose-a-subset-optimization-target.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/choose-a-subset-optimization-target/smart-subset-optimization-target.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/request-and-run-a-subset-of-tests.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/combine-with-rule-based-test-selection.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/replace-static-parallel-suites-dynamic-parallel-subset.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/subset-with-the-smart-tests-cli.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/zero-input-subsetting/use-groups-to-split-subsets.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/zero-input-subsetting/zero-input-subsetting.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/smart-tests-extension-for-VS-code.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/use-cases-for-predictive-test-selection.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/viewing-time-savings.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/predictive-test-selection.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-notifications/github-app-for-test-sessions.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-notifications/test-notifications-via-slack.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-notifications.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-results-and-reports.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-suite-parallelization/parallelize-your-test-suite-with-the-smart-tests-cli.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/test-suite-parallelization.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/trends.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/features/pages/unhealthy-tests.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/ci-tool-integrations/github-actions.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/ci-tool-integrations.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/cli-reference.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/cli-version.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/adb.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/ant.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/bazel.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/behave.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/ctest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/cucumber.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/cypress.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/dotnet-test.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/flutter.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/go-test.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/googletest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/gradle.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/jest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/karma.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/maven.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/minitest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/playwright.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/prove.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/pytest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/raw.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/robot.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/rspec.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/use-the-generic-file-based-runner-integration.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/vitest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations/xctest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/integrations.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/onboarding-guide/best-practices-checklist.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/onboarding-guide/optional-configurations.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/onboarding-guide.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/policies/data-examples.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/policies/data-privacy-and-protection.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/policies/security-policies.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/policies.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/c-plus-plus.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/dotnet.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/go.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/java.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/javascript.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/perl.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/python.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages/ruby.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-languages.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/appium.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/cucumber.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/googletest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/jest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/junit.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/minitest.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/nose.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/nunit.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/prove.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/robot.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/rspec.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/selenium.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/testng.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/resources/pages/troubleshooting.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/getting-started.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/migration-to-github-oidc-auth.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/use-the-cli-with-a-public-repository.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/use-the-cli-with-docker-image.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/choose-a-value-for-build-name.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/deal-with-shallow-clones.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds-from-multiple-repositories.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/run-under-restricted-networks.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-sessions/record-sessions.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/attach-log-files.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/convert-test-reports-to-junit-format.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/ensure-record-tests-always-runs.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/manage-complex-test-session-layouts.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/record-test-results.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/separate-out-test-suites.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/use-flavors-to-run-the-best-tests-for-an-environment.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/send-data-to-smart-tests.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/subset-predictive-test-selection.adoc +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/jar/exe_deploy.jar +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/plugins/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/adb.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/ant.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/bazel.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/behave.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/codeceptjs.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/ctest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/cts.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/cucumber.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/cypress.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/dotnet.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/file.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/flutter.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/go_test.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/googletest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/gradle.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/jasmine.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/jest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/karma.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/maven.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/minitest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/nunit.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/playwright.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/prove.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/pytest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/raw.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/robot.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/rspec.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/smart_tests.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/vitest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/test_runners/xctest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/testpath.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/authentication.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/ci_provider.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/commit_ingester.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/common_tz.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/edit_distance.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/env_keys.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/exceptions.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/fail_fast_mode.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/file_name_pattern.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/git_log_parser.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/glob.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/gzipgen.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/http_client.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/input_snapshot.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/java.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/link.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/logger.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/no_build.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/sax.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/session.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/smart_tests_client.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/subprocess.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/tracking.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/utils/typer_types.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests/version.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests_cli.egg-info/dependency_links.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests_cli.egg-info/entry_points.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests_cli.egg-info/requires.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/smart_tests_cli.egg-info/top_level.txt +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/BUILD +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/Authenticator.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/BUILD +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/BackgroundWorkStatus.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/BoundedExecutorService.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/ChunkStreamer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/CommitChunkStreamer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/CommitGraphCollector.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/ConcurrentConsumer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/CountingDiffFormatter.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/FileChunkStreamer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/FlushableConsumer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/GitFile.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/GitHubActionsAuthenticator.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/GitHubIdTokenAuthenticator.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/IOConsumer.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionProgress.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionResponse.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/JSCommit.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/JSFileChange.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/LaunchableHttpClient.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/Main.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/ObjectRevFilter.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/ProgressReporter.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/SSLBypass.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/TokenAuthenticator.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/TreeReceiver.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/main/java/com/launchableinc/ingest/commits/VirtualFile.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/maven_install.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/AllTests.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/BUILD +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/BoundedExecutorServiceTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/CommitGraphCollectorTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/ConcurrentConsumerTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/FileChunkStreamerTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/MainTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/PassThroughTreeReceiverImpl.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/ProgressReporterTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/SSLBypassTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/src/test/java/com/launchableinc/ingest/commits/java8-compat.sh +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/test-runner/__main__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/converters/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/converters/test_converters.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_badcode.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_badinput.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_command.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_decorators.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_help.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_parameter.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/args4p/test_typer.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/cli_test_case.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/compare/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/compare/test_subsets.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/inspect/test_model.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/inspect/test_subset.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_attachment.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_case_event.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_commit.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_session.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/record/test_tests.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/test_api_error.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/test_detect_flakes.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/test_gate.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/commands/test_subset.py +0 -0
- {smart_tests_cli-2.6.0/tests/data/pytest/tests/fooo → smart_tests_cli-2.7.0/tests/commands/update}/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/adb/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/junitreport/TEST-com.example.HelloWorldTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/junitreport/TEST-com.example.library.CacheTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/junitreport/TESTS-TestSuites.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/src/com/example/HelloWorld.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/src/com/example/HelloWorldTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/src/com/example/library/Cache.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/src/com/example/library/CacheTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ant/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.log +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.cache_status +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/build_event.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/build_event_rest.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/record_test_with_build_event_json_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/record_test_with_multiple_build_event_json_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/bazel/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/behave/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/behave/reports/report.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/behave/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/broken_xml/broken.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/broken_xml/normal.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/codeceptjs/codeceptjs-result.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/codeceptjs/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ctest/Testing/latest/Test.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ctest/ctest_list.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ctest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/ctest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cts/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cts/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cts/test_result.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/features/foo/bar.feature +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/features/foo/is_it_friday_yet.feature +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/features/foo-bar.feature +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/features/is_it_friday_yet.feature +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/record_test_json_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/report/TEST-features-foo-bar.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/report/TEST-features-foo-is_it_friday_yet.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/report/TEST-features-is_it_friday_yet.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/report/dummy.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cucumber/report/result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cypress/empty.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cypress/empty.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cypress/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cypress/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/cypress/test-result.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/dotnet/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/dotnet/test-result.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/file/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/file/record_test_result_custom_attribute.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/file/result.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/file/result_custom_attribute.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/flutter/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/flutter/report.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/git_log_ingest/sample.out +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/go_test/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/go_test/reportv1/reportv1.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/go_test/reportv2/reportv2.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/go_test/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/fail/output.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/fail/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/output_a.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/output_b.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/googletest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/App2Test.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/AppTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/sub/App3Test.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/gradle/recursion/expected.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/gradle/recursion/foo/bar/reports/1.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jasmine/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jasmine/jasmine-test-results-v3.99.0.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jasmine/jasmine-test-results.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jasmine/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jasmine/subset_payload.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jest/junit.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/jest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/karma/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/karma/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/karma/sample-report.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/karma/subset_payload.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/karma/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/createdFile_1.lst +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/createdFile_2.lst +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/App2Test.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/AppTest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/java/test/src/java/com/launchableinc/rocket_car_maven/e2e/E2ETest.java +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/list.lst +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/reports/TEST-1.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/reports/TEST-2.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/reports/TEST-nested.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/reports/dummy.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_by_absolute_time_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_by_confidence_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_from_file_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_scan_test_compile_lst_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/maven/subset_with_exclude_rules_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/TEST-Admin_UserTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/TEST-Admin_UserTest_ChildlenTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/TEST-UserControllerTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/TEST-UserCopyTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/TEST-UserTest.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/record_test_result_chunk1.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/record_test_result_chunk2.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/minitest/test/example_test.rb +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/list.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/nunit-reporter-bug-with-nested-type.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/nunit-reporter-bug-with-nested-type.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/output-linux.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/output-windows.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/record_test_result-linux.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/record_test_result-windows.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/src/.gitignore +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/src/Program.cs +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/src/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/src/Test.cs +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/src/calc.csproj +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/nunit/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/playwright/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/playwright/record_test_result_with_json.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/playwright/report.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/playwright/report.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/prove/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/prove/report.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/pytest.ini +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/record_test_result_json.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/report.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/report.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/conftest.py +0 -0
- {smart_tests_cli-2.6.0/tests/test_runners → smart_tests_cli-2.7.0/tests/data/pytest/tests/fooo}/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/fooo/filenameonly_test.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/fooo/func4_test.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/funcs3_test.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/test_funcs1.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/pytest/tests/test_funcs2.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/dryrun.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/output.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/record_test_executed_only_one_file_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/single-output.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/robot/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/rspec/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/rspec/rspec.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/vitest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/vitest/report.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/xctest/junit.xml +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/xctest/record_test_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/data/xctest/subset_result.json +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/helper.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/plugins/foo.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_cli_test_case.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_plugin.py +0 -0
- {smart_tests_cli-2.6.0/tests/utils → smart_tests_cli-2.7.0/tests/test_runners}/__init__.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_adb.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_ant.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_bazel.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_behave.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_codeceptjs.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_ctest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_cts.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_cucumber.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_cypress.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_dotnet.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_file.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_go_test.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_googletest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_gradle.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_jasmine.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_jest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_karma.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_maven.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_minitest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_nunit.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_playwright.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_prove.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_pytest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_raw.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_robot.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_rspec.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_vitest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_runners/test_xctest.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_testpath.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/test_version.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_authentication.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_edit_distance.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_fail_fast_mode.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_file_name_pattern.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_git_log_parser.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_glob.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_gzipgen.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_http_client.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_link.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_logger.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_session.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_typer.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tests/utils/test_typer_types.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tools/README.md +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/tools/generate_reference.py +0 -0
- {smart_tests_cli-2.6.0 → smart_tests_cli-2.7.0}/uv.lock +0 -0
|
@@ -45,13 +45,6 @@ jobs:
|
|
|
45
45
|
run: uv build
|
|
46
46
|
- name: Publish to PyPI
|
|
47
47
|
run: uv publish --token ${{ secrets.SMART_TESTS_PYPI_API_TOKEN }}
|
|
48
|
-
- name: Actions for Discord
|
|
49
|
-
uses: Ilshidur/action-discord@0.3.2
|
|
50
|
-
env:
|
|
51
|
-
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
|
52
|
-
with:
|
|
53
|
-
args: "Smart Tests CLI ${{ needs.tagpr.outputs.tag }} is released! https://github.com/launchableinc/cli/releases/tag/${{ needs.tagpr.outputs.tag }}"
|
|
54
|
-
|
|
55
48
|
docker:
|
|
56
49
|
name: Push Docker image to Docker Hub
|
|
57
50
|
needs: tagpr
|
|
@@ -14,10 +14,12 @@ from smart_tests.commands.inspect import inspect
|
|
|
14
14
|
from smart_tests.commands.record import record
|
|
15
15
|
from smart_tests.commands.stats import stats
|
|
16
16
|
from smart_tests.commands.subset import subset
|
|
17
|
+
from smart_tests.commands.update import update
|
|
17
18
|
from smart_tests.commands.verify import verify
|
|
18
19
|
|
|
19
20
|
cli = Group(name="cli", callback=Application)
|
|
20
21
|
cli.add_command(record)
|
|
22
|
+
cli.add_command(update)
|
|
21
23
|
cli.add_command(subset)
|
|
22
24
|
# TODO: main.add_command(split_subset)
|
|
23
25
|
cli.add_command(verify)
|
|
@@ -33,9 +33,11 @@ def Argument(
|
|
|
33
33
|
return _Argument(name=None, type=type, multiple=multiple, required=required, metavar=metavar, help=help, default=default)
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
class Exit(
|
|
36
|
+
class Exit(BaseException):
|
|
37
37
|
'''
|
|
38
|
-
Raise this exception to exit the CLI with the given exit code
|
|
38
|
+
Raise this exception to exit the CLI with the given exit code.
|
|
39
|
+
Extends BaseException (not Exception) so that broad `except Exception` handlers in user code
|
|
40
|
+
do not accidentally swallow it — analogous to Java's Error vs Exception distinction.
|
|
39
41
|
'''
|
|
40
42
|
|
|
41
43
|
def __init__(self, code: int):
|
|
@@ -3,6 +3,7 @@ from ...app import Application
|
|
|
3
3
|
from .attachment import attachment
|
|
4
4
|
from .build import build
|
|
5
5
|
from .commit import commit
|
|
6
|
+
from .deployment import deployment
|
|
6
7
|
from .session import session
|
|
7
8
|
from .tests import tests
|
|
8
9
|
|
|
@@ -17,3 +18,4 @@ record.add_command(commit)
|
|
|
17
18
|
record.add_command(tests)
|
|
18
19
|
record.add_command(session)
|
|
19
20
|
record.add_command(attachment)
|
|
21
|
+
record.add_command(deployment)
|
|
@@ -87,6 +87,18 @@ def build(
|
|
|
87
87
|
help="Set external link of a title and url",
|
|
88
88
|
type=parse_key_value,
|
|
89
89
|
)] = [],
|
|
90
|
+
components: Annotated[List[KeyValue], typer.Option(
|
|
91
|
+
"--component",
|
|
92
|
+
multiple=True,
|
|
93
|
+
help="Include another build as a named component. Format: NAME=BUILD_OR_ALIAS",
|
|
94
|
+
metavar="NAME=BUILDNAME",
|
|
95
|
+
type=parse_key_value,
|
|
96
|
+
)] = [],
|
|
97
|
+
include_environment: Annotated[str | None, typer.Option(
|
|
98
|
+
"--include-environment",
|
|
99
|
+
help="Include all services deployed to this environment as components. See 'record deployment' command.",
|
|
100
|
+
metavar="NAME",
|
|
101
|
+
)] = None,
|
|
90
102
|
):
|
|
91
103
|
|
|
92
104
|
# Parse key-value pairs for commits
|
|
@@ -303,6 +315,34 @@ def build(
|
|
|
303
315
|
def compute_links():
|
|
304
316
|
return capture_links(link_options=links, env=os.environ)
|
|
305
317
|
|
|
318
|
+
def compute_components():
|
|
319
|
+
all_components = list(components)
|
|
320
|
+
if include_environment:
|
|
321
|
+
res = client.request("get", "builds/aliases",
|
|
322
|
+
params={"name": f"deployment:{include_environment}:*"})
|
|
323
|
+
res.raise_for_status()
|
|
324
|
+
json = res.json()
|
|
325
|
+
if len(json) == 0:
|
|
326
|
+
warn_and_exit_if_fail_fast_mode(f"Error: no such environment: {include_environment}")
|
|
327
|
+
click.echo("Components in this environment:")
|
|
328
|
+
for alias_obj in json:
|
|
329
|
+
service = alias_obj["alias"].split(":", 2)[2]
|
|
330
|
+
point_to = alias_obj["buildName"]
|
|
331
|
+
all_components.append(KeyValue(key=service, value=point_to))
|
|
332
|
+
click.echo(f" - {service} -> {point_to}")
|
|
333
|
+
|
|
334
|
+
for c in all_components:
|
|
335
|
+
if not c.key:
|
|
336
|
+
click.echo("Component name must not be empty", err=True)
|
|
337
|
+
raise typer.Exit(1)
|
|
338
|
+
names_seen: set = set()
|
|
339
|
+
for c in all_components:
|
|
340
|
+
if c.key in names_seen:
|
|
341
|
+
click.echo(f"Duplicate component name: '{c.key}'", err=True)
|
|
342
|
+
raise typer.Exit(1)
|
|
343
|
+
names_seen.add(c.key)
|
|
344
|
+
return [{"name": c.key, "build": c.value} for c in all_components]
|
|
345
|
+
|
|
306
346
|
try:
|
|
307
347
|
lineage = branch or ws[0].branch
|
|
308
348
|
if lineage is None:
|
|
@@ -319,6 +359,7 @@ def build(
|
|
|
319
359
|
} for w in ws],
|
|
320
360
|
"links": compute_links(),
|
|
321
361
|
"timestamp": parsed_timestamp.isoformat() if parsed_timestamp else None,
|
|
362
|
+
"components": compute_components(),
|
|
322
363
|
}
|
|
323
364
|
|
|
324
365
|
res = client.request("post", "builds", payload=payload)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
import smart_tests.args4p.typer as typer
|
|
6
|
+
from smart_tests import args4p
|
|
7
|
+
from smart_tests.app import Application
|
|
8
|
+
from smart_tests.utils.commands import Command
|
|
9
|
+
from smart_tests.utils.fail_fast_mode import set_fail_fast_mode, warn_and_exit_if_fail_fast_mode
|
|
10
|
+
from smart_tests.utils.smart_tests_client import SmartTestsClient
|
|
11
|
+
from smart_tests.utils.tracking import TrackingClient
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@args4p.command(help="Record a deployment (sets alias deployment:{environment}:{service} -> build)")
|
|
15
|
+
def deployment(
|
|
16
|
+
app: Application,
|
|
17
|
+
build_name: Annotated[str, typer.Option(
|
|
18
|
+
"--build",
|
|
19
|
+
help="Build name",
|
|
20
|
+
metavar="NAME",
|
|
21
|
+
required=True,
|
|
22
|
+
)],
|
|
23
|
+
environment: Annotated[str, typer.Option(
|
|
24
|
+
"--environment",
|
|
25
|
+
help="Deployment environment name",
|
|
26
|
+
metavar="NAME",
|
|
27
|
+
required=True,
|
|
28
|
+
)],
|
|
29
|
+
service: Annotated[str, typer.Option(
|
|
30
|
+
"--service",
|
|
31
|
+
help="Service name",
|
|
32
|
+
metavar="NAME",
|
|
33
|
+
required=True,
|
|
34
|
+
)],
|
|
35
|
+
):
|
|
36
|
+
alias_name = f"deployment:{environment}:{service}"
|
|
37
|
+
|
|
38
|
+
tracking_client = TrackingClient(Command.RECORD_DEPLOYMENT, app=app)
|
|
39
|
+
client = SmartTestsClient(app=app, tracking_client=tracking_client)
|
|
40
|
+
set_fail_fast_mode(client.is_fail_fast_mode())
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
res = client.request("put", f"builds/aliases/{alias_name}", payload={"build": build_name})
|
|
44
|
+
res.raise_for_status()
|
|
45
|
+
click.echo(f"Deployment of '{service}' in '{environment}' now points to build '{build_name}'")
|
|
46
|
+
except Exception as e:
|
|
47
|
+
warn_and_exit_if_fail_fast_mode(f"Failed to record deployment: {e}")
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
import smart_tests.args4p.typer as typer
|
|
6
|
+
from smart_tests import args4p
|
|
7
|
+
from smart_tests.app import Application
|
|
8
|
+
from smart_tests.utils.commands import Command
|
|
9
|
+
from smart_tests.utils.fail_fast_mode import set_fail_fast_mode, warn_and_exit_if_fail_fast_mode
|
|
10
|
+
from smart_tests.utils.smart_tests_client import SmartTestsClient
|
|
11
|
+
from smart_tests.utils.tracking import TrackingClient
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@args4p.command(help="Point an alias at a build")
|
|
15
|
+
def alias(
|
|
16
|
+
app: Application,
|
|
17
|
+
build_name: Annotated[str, typer.Option(
|
|
18
|
+
"--build",
|
|
19
|
+
help="Build name to point the alias at",
|
|
20
|
+
metavar="NAME",
|
|
21
|
+
required=True,
|
|
22
|
+
)],
|
|
23
|
+
alias_name: Annotated[str, typer.Option(
|
|
24
|
+
"--alias",
|
|
25
|
+
help="Alias name",
|
|
26
|
+
metavar="NAME",
|
|
27
|
+
required=True,
|
|
28
|
+
)],
|
|
29
|
+
):
|
|
30
|
+
tracking_client = TrackingClient(Command.UPDATE_ALIAS, app=app)
|
|
31
|
+
client = SmartTestsClient(app=app, tracking_client=tracking_client)
|
|
32
|
+
set_fail_fast_mode(client.is_fail_fast_mode())
|
|
33
|
+
|
|
34
|
+
# TODO: It's not entirely clear to me which layer is responsible for URL encoding
|
|
35
|
+
# this validation logic was copied from record/build.py
|
|
36
|
+
if "/" in alias_name or "%2f" in alias_name.lower():
|
|
37
|
+
click.echo("--alias must not contain a slash and an encoded slash", err=True)
|
|
38
|
+
raise typer.Exit(1)
|
|
39
|
+
if "%25" in alias_name:
|
|
40
|
+
click.echo("--alias must not contain encoded % (%25)", err=True)
|
|
41
|
+
raise typer.Exit(1)
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
res = client.request("put", f"builds/aliases/{alias_name}", payload={"build": build_name})
|
|
45
|
+
res.raise_for_status()
|
|
46
|
+
click.echo(f"Alias '{alias_name}' now points to build '{build_name}'")
|
|
47
|
+
except Exception as e:
|
|
48
|
+
warn_and_exit_if_fail_fast_mode(f"Failed to update alias: {e}")
|
|
@@ -80,20 +80,12 @@ def verify(app_instance: Application):
|
|
|
80
80
|
client = SmartTestsClient(tracking_client=tracking_client, app=app_instance)
|
|
81
81
|
java = get_java_command()
|
|
82
82
|
|
|
83
|
-
# Print the system information first so that we can get them even if there's
|
|
84
|
-
# an issue.
|
|
85
|
-
|
|
86
|
-
click.echo("Organization: " + repr(org))
|
|
87
|
-
click.echo("Workspace: " + repr(workspace))
|
|
88
|
-
click.echo("Proxy: " + repr(os.getenv("HTTPS_PROXY")))
|
|
89
|
-
click.echo("Platform: " + repr(platform.platform()))
|
|
90
|
-
click.echo("Python version: " + repr(platform.python_version()))
|
|
91
|
-
click.echo("Java command: " + repr(java))
|
|
92
|
-
click.echo("smart-tests version: " + repr(version))
|
|
93
|
-
|
|
94
83
|
# raise an error here after we print out the basic diagnostics if LAUNCHABLE_TOKEN is not set.
|
|
95
84
|
ensure_org_workspace()
|
|
96
85
|
|
|
86
|
+
# Fetch display names from the verification endpoint
|
|
87
|
+
org_display = org
|
|
88
|
+
workspace_display = workspace
|
|
97
89
|
try:
|
|
98
90
|
res = client.request("get", "verification")
|
|
99
91
|
if res.status_code == 401:
|
|
@@ -111,6 +103,15 @@ def verify(app_instance: Application):
|
|
|
111
103
|
)
|
|
112
104
|
raise typer.Exit(2)
|
|
113
105
|
res.raise_for_status()
|
|
106
|
+
|
|
107
|
+
# Parse display names from response, with fallback to original values
|
|
108
|
+
try:
|
|
109
|
+
data = res.json()
|
|
110
|
+
org_display = data.get("organizationDisplayName", org)
|
|
111
|
+
workspace_display = data.get("workspaceDisplayName", workspace)
|
|
112
|
+
except Exception:
|
|
113
|
+
# If JSON parsing fails, continue with original values
|
|
114
|
+
pass
|
|
114
115
|
except Exception as e:
|
|
115
116
|
tracking_client.send_error_event(
|
|
116
117
|
event_name=Tracking.ErrorEvent.INTERNAL_CLI_ERROR,
|
|
@@ -119,6 +120,15 @@ def verify(app_instance: Application):
|
|
|
119
120
|
)
|
|
120
121
|
client.print_exception_and_recover(e)
|
|
121
122
|
|
|
123
|
+
# Print the system information after fetching display names
|
|
124
|
+
click.echo("Organization: " + repr(org_display))
|
|
125
|
+
click.echo("Workspace: " + repr(workspace_display))
|
|
126
|
+
click.echo("Proxy: " + repr(os.getenv("HTTPS_PROXY")))
|
|
127
|
+
click.echo("Platform: " + repr(platform.platform()))
|
|
128
|
+
click.echo("Python version: " + repr(platform.python_version()))
|
|
129
|
+
click.echo("Java command: " + repr(java))
|
|
130
|
+
click.echo("smart-tests version: " + repr(version))
|
|
131
|
+
|
|
122
132
|
if java is None:
|
|
123
133
|
msg = "Java is not installed. Install Java version 8 or newer to use the Smart Tests CLI."
|
|
124
134
|
tracking_client.send_error_event(
|
|
@@ -10,6 +10,10 @@ class Command(Enum):
|
|
|
10
10
|
COMMIT = 'COMMIT'
|
|
11
11
|
DETECT_FLAKE = 'DETECT_FLAKE'
|
|
12
12
|
GATE = 'GATE'
|
|
13
|
+
UPDATE_ALIAS = 'UPDATE_ALIAS'
|
|
14
|
+
RECORD_DEPLOYMENT = 'RECORD_DEPLOYMENT'
|
|
15
|
+
|
|
16
|
+
# when you add a new constant here, the server also needs to get a new constant in cli_tracking.proto
|
|
13
17
|
|
|
14
18
|
def display_name(self):
|
|
15
19
|
return self.value.lower().replace('_', ' ')
|
|
@@ -57,10 +57,13 @@ smart_tests/commands/record/attachment.py
|
|
|
57
57
|
smart_tests/commands/record/build.py
|
|
58
58
|
smart_tests/commands/record/case_event.py
|
|
59
59
|
smart_tests/commands/record/commit.py
|
|
60
|
+
smart_tests/commands/record/deployment.py
|
|
60
61
|
smart_tests/commands/record/session.py
|
|
61
62
|
smart_tests/commands/record/tests.py
|
|
62
63
|
smart_tests/commands/stats/__init__.py
|
|
63
64
|
smart_tests/commands/stats/test_sessions.py
|
|
65
|
+
smart_tests/commands/update/__init__.py
|
|
66
|
+
smart_tests/commands/update/alias.py
|
|
64
67
|
smart_tests/docs/antora.yml
|
|
65
68
|
smart_tests/docs/modules/ROOT/nav.adoc
|
|
66
69
|
smart_tests/docs/modules/ROOT/assets/images/0607-inference.png
|
|
@@ -400,8 +403,11 @@ tests/commands/record/test_attachment.py
|
|
|
400
403
|
tests/commands/record/test_build.py
|
|
401
404
|
tests/commands/record/test_case_event.py
|
|
402
405
|
tests/commands/record/test_commit.py
|
|
406
|
+
tests/commands/record/test_deployment.py
|
|
403
407
|
tests/commands/record/test_session.py
|
|
404
408
|
tests/commands/record/test_tests.py
|
|
409
|
+
tests/commands/update/__init__.py
|
|
410
|
+
tests/commands/update/test_alias.py
|
|
405
411
|
tests/data/adb/subset_result.json
|
|
406
412
|
tests/data/ant/record_test_result.json
|
|
407
413
|
tests/data/ant/subset_result.json
|
|
@@ -71,7 +71,8 @@ class BuildTest(CliTestCase):
|
|
|
71
71
|
},
|
|
72
72
|
],
|
|
73
73
|
"links": [],
|
|
74
|
-
"timestamp": None
|
|
74
|
+
"timestamp": None,
|
|
75
|
+
"components": []
|
|
75
76
|
}, payload)
|
|
76
77
|
|
|
77
78
|
@responses.activate
|
|
@@ -112,7 +113,8 @@ class BuildTest(CliTestCase):
|
|
|
112
113
|
},
|
|
113
114
|
],
|
|
114
115
|
"links": [],
|
|
115
|
-
"timestamp": None
|
|
116
|
+
"timestamp": None,
|
|
117
|
+
"components": []
|
|
116
118
|
}, payload)
|
|
117
119
|
|
|
118
120
|
@responses.activate
|
|
@@ -151,7 +153,8 @@ class BuildTest(CliTestCase):
|
|
|
151
153
|
},
|
|
152
154
|
],
|
|
153
155
|
"links": [],
|
|
154
|
-
"timestamp": None
|
|
156
|
+
"timestamp": None,
|
|
157
|
+
"components": []
|
|
155
158
|
}, payload)
|
|
156
159
|
|
|
157
160
|
finally:
|
|
@@ -191,7 +194,8 @@ class BuildTest(CliTestCase):
|
|
|
191
194
|
},
|
|
192
195
|
],
|
|
193
196
|
"links": [],
|
|
194
|
-
'timestamp': None
|
|
197
|
+
'timestamp': None,
|
|
198
|
+
"components": []
|
|
195
199
|
}, payload)
|
|
196
200
|
responses.calls.reset()
|
|
197
201
|
|
|
@@ -223,7 +227,8 @@ class BuildTest(CliTestCase):
|
|
|
223
227
|
},
|
|
224
228
|
],
|
|
225
229
|
"links": [],
|
|
226
|
-
"timestamp": None
|
|
230
|
+
"timestamp": None,
|
|
231
|
+
"components": []
|
|
227
232
|
}, payload)
|
|
228
233
|
responses.calls.reset()
|
|
229
234
|
|
|
@@ -255,7 +260,8 @@ class BuildTest(CliTestCase):
|
|
|
255
260
|
},
|
|
256
261
|
],
|
|
257
262
|
"links": [],
|
|
258
|
-
"timestamp": None
|
|
263
|
+
"timestamp": None,
|
|
264
|
+
"components": []
|
|
259
265
|
}, payload)
|
|
260
266
|
responses.calls.reset()
|
|
261
267
|
self.assertIn("Invalid repository name B in a --branch option.", result.output)
|
|
@@ -295,7 +301,8 @@ class BuildTest(CliTestCase):
|
|
|
295
301
|
},
|
|
296
302
|
],
|
|
297
303
|
"links": [],
|
|
298
|
-
"timestamp": None
|
|
304
|
+
"timestamp": None,
|
|
305
|
+
"components": []
|
|
299
306
|
}, payload)
|
|
300
307
|
responses.calls.reset()
|
|
301
308
|
|
|
@@ -367,7 +374,8 @@ class BuildTest(CliTestCase):
|
|
|
367
374
|
},
|
|
368
375
|
],
|
|
369
376
|
"links": [],
|
|
370
|
-
"timestamp": "2025-01-23T12:34:56+00:00"
|
|
377
|
+
"timestamp": "2025-01-23T12:34:56+00:00",
|
|
378
|
+
"components": []
|
|
371
379
|
}, payload)
|
|
372
380
|
|
|
373
381
|
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
@@ -412,7 +420,8 @@ class BuildTest(CliTestCase):
|
|
|
412
420
|
{"title": "url", "url": "https://smart-tests.test", "kind": "CUSTOM_LINK"},
|
|
413
421
|
{"title": "build", "url": "https://build.smart-tests.test", "kind": "CUSTOM_LINK"},
|
|
414
422
|
],
|
|
415
|
-
"timestamp": None
|
|
423
|
+
"timestamp": None,
|
|
424
|
+
"components": []
|
|
416
425
|
}, payload)
|
|
417
426
|
|
|
418
427
|
# with invalid kind
|
|
@@ -505,3 +514,93 @@ class BuildTest(CliTestCase):
|
|
|
505
514
|
"--build",
|
|
506
515
|
self.build_name)
|
|
507
516
|
self.assert_success(result)
|
|
517
|
+
|
|
518
|
+
@responses.activate
|
|
519
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
520
|
+
@mock.patch.dict(os.environ, {"GITHUB_ACTIONS": ""})
|
|
521
|
+
@mock.patch.dict(os.environ, {"GITHUB_PULL_REQUEST_URL": ""})
|
|
522
|
+
def test_with_components(self):
|
|
523
|
+
result = self.cli(
|
|
524
|
+
"record", "build",
|
|
525
|
+
"--build", self.build_name,
|
|
526
|
+
"--branch", "main",
|
|
527
|
+
"--no-commit-collection",
|
|
528
|
+
"--commit", ".=abc123",
|
|
529
|
+
"--component", "payment=staging-payment-svc",
|
|
530
|
+
"--component", "auth=staging-auth-svc",
|
|
531
|
+
)
|
|
532
|
+
self.assert_success(result)
|
|
533
|
+
|
|
534
|
+
payload = json.loads(responses.calls[1].request.body.decode())
|
|
535
|
+
self.assert_json_orderless_equal(
|
|
536
|
+
{
|
|
537
|
+
"buildNumber": "123",
|
|
538
|
+
"lineage": "main",
|
|
539
|
+
"commitHashes": [{"repositoryName": ".", "commitHash": "abc123", "branchName": ""}],
|
|
540
|
+
"links": [],
|
|
541
|
+
"timestamp": None,
|
|
542
|
+
"components": [
|
|
543
|
+
{"name": "payment", "build": "staging-payment-svc"},
|
|
544
|
+
{"name": "auth", "build": "staging-auth-svc"},
|
|
545
|
+
],
|
|
546
|
+
}, payload)
|
|
547
|
+
|
|
548
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
549
|
+
def test_duplicate_component_name(self):
|
|
550
|
+
result = self.cli(
|
|
551
|
+
"record", "build",
|
|
552
|
+
"--build", self.build_name,
|
|
553
|
+
"--branch", "main",
|
|
554
|
+
"--no-commit-collection",
|
|
555
|
+
"--commit", ".=abc123",
|
|
556
|
+
"--component", "payment=svc-a",
|
|
557
|
+
"--component", "payment=svc-b",
|
|
558
|
+
)
|
|
559
|
+
self.assert_exit_code(result, 1)
|
|
560
|
+
self.assertIn("Duplicate component name: 'payment'", result.output)
|
|
561
|
+
|
|
562
|
+
@responses.activate
|
|
563
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
564
|
+
# to tests on GitHub Actions
|
|
565
|
+
@mock.patch.dict(os.environ, {"GITHUB_ACTIONS": ""})
|
|
566
|
+
@mock.patch.dict(os.environ, {"GITHUB_PULL_REQUEST_URL": ""})
|
|
567
|
+
def test_include_environment(self):
|
|
568
|
+
from smart_tests.utils.http_client import get_base_url
|
|
569
|
+
aliases_url = (
|
|
570
|
+
f"{get_base_url()}/intake/organizations/{self.organization}"
|
|
571
|
+
f"/workspaces/{self.workspace}/builds/aliases"
|
|
572
|
+
)
|
|
573
|
+
responses.add(responses.GET, aliases_url, json=[
|
|
574
|
+
{"alias": "deployment:staging:payment", "buildName": "payment-main-137"},
|
|
575
|
+
{"alias": "deployment:staging:auth", "buildName": "auth-main-42"},
|
|
576
|
+
], status=200)
|
|
577
|
+
|
|
578
|
+
result = self.cli(
|
|
579
|
+
"record", "build",
|
|
580
|
+
"--build", self.build_name,
|
|
581
|
+
"--branch", "main",
|
|
582
|
+
"--no-commit-collection",
|
|
583
|
+
"--commit", ".=abc123",
|
|
584
|
+
"--repo-branch-map", ".=AIENG-404",
|
|
585
|
+
"--include-environment", "staging",
|
|
586
|
+
)
|
|
587
|
+
self.assert_success(result)
|
|
588
|
+
|
|
589
|
+
post_call = next(c for c in responses.calls if c.request.method == "POST" and "builds" in c.request.url)
|
|
590
|
+
payload = json.loads(post_call.request.body.decode())
|
|
591
|
+
self.assert_json_orderless_equal(
|
|
592
|
+
{
|
|
593
|
+
"buildNumber": "123",
|
|
594
|
+
"lineage": "main",
|
|
595
|
+
"commitHashes": [{"repositoryName": ".", "commitHash": "abc123", "branchName": "AIENG-404"}],
|
|
596
|
+
"links": [],
|
|
597
|
+
"timestamp": None,
|
|
598
|
+
"components": [
|
|
599
|
+
{"name": "payment", "build": "payment-main-137"},
|
|
600
|
+
{"name": "auth", "build": "auth-main-42"},
|
|
601
|
+
],
|
|
602
|
+
}, payload)
|
|
603
|
+
|
|
604
|
+
from urllib.parse import unquote
|
|
605
|
+
get_call = next(c for c in responses.calls if c.request.method == "GET" and "aliases" in c.request.url)
|
|
606
|
+
self.assertIn("deployment:staging:*", unquote(get_call.request.url))
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import os
|
|
3
|
+
from unittest import mock
|
|
4
|
+
|
|
5
|
+
import responses # type: ignore
|
|
6
|
+
|
|
7
|
+
from smart_tests.utils.http_client import get_base_url
|
|
8
|
+
from tests.cli_test_case import CliTestCase
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DeploymentTest(CliTestCase):
|
|
12
|
+
environment = "staging"
|
|
13
|
+
service = "payment"
|
|
14
|
+
build_name = "jenkins-main-135"
|
|
15
|
+
error_body = "Build 'jenkins-main-135' not found"
|
|
16
|
+
|
|
17
|
+
def deployment_url(self):
|
|
18
|
+
alias_name = f"deployment:{self.environment}:{self.service}"
|
|
19
|
+
return (
|
|
20
|
+
f"{get_base_url()}/intake/organizations/{self.organization}"
|
|
21
|
+
f"/workspaces/{self.workspace}/builds/aliases/{alias_name}"
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
@responses.activate
|
|
25
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
26
|
+
def test_record_deployment(self):
|
|
27
|
+
responses.add(responses.PUT, self.deployment_url(), json={}, status=200)
|
|
28
|
+
|
|
29
|
+
result = self.cli(
|
|
30
|
+
"record", "deployment",
|
|
31
|
+
"--build", self.build_name,
|
|
32
|
+
"--environment", self.environment,
|
|
33
|
+
"--service", self.service,
|
|
34
|
+
)
|
|
35
|
+
self.assert_success(result)
|
|
36
|
+
|
|
37
|
+
put_call = next(c for c in responses.calls if c.request.method == "PUT")
|
|
38
|
+
self.assert_json_orderless_equal(
|
|
39
|
+
{"build": self.build_name},
|
|
40
|
+
json.loads(put_call.request.body)
|
|
41
|
+
)
|
|
42
|
+
self.assertIn(self.service, result.output)
|
|
43
|
+
self.assertIn(self.environment, result.output)
|
|
44
|
+
self.assertIn(self.build_name, result.output)
|
|
45
|
+
|
|
46
|
+
@responses.activate
|
|
47
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
48
|
+
def test_record_deployment_build_not_found(self):
|
|
49
|
+
"""Without fail-fast mode: prints warning in yellow, exits 0 (doesn't halt CI)."""
|
|
50
|
+
responses.add(responses.PUT, self.deployment_url(), json={"reason": self.error_body}, status=404)
|
|
51
|
+
|
|
52
|
+
result = self.cli(
|
|
53
|
+
"record", "deployment",
|
|
54
|
+
"--build", self.build_name,
|
|
55
|
+
"--environment", self.environment,
|
|
56
|
+
"--service", self.service,
|
|
57
|
+
)
|
|
58
|
+
self.assert_success(result)
|
|
59
|
+
self.assertIn(self.error_body, result.output)
|