Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
253 commits
Select commit Hold shift + click to select a range
8a83f54
Update pyproject.toml
ninjinkun Jun 19, 2025
3534cae
refactor: remove an unused option
ninjinkun Jun 19, 2025
3ffe950
refactor: update dependencies
ninjinkun Jun 19, 2025
a06da62
feature: migrate the CLI framework from Click to Typer
ninjinkun Jun 24, 2025
6d87510
fix: type check
ninjinkun Jun 24, 2025
ed7ed7a
fix: load test_runners before typer is invoked
ninjinkun Jun 24, 2025
03ffb5d
fix: an error message in a test
ninjinkun Jun 24, 2025
63aeb70
fix: no color on tests
ninjinkun Jun 24, 2025
6630f54
fix: test
ninjinkun Jun 25, 2025
742fbae
fix: specify the uv commit hash
ninjinkun Jun 25, 2025
5b56f0d
refactor: use .python-version
ninjinkun Jun 25, 2025
cbc377e
feature: update e2e.yml
ninjinkun Jun 25, 2025
5ed3ad3
Update .github/workflows/e2e.yml
ninjinkun Jun 26, 2025
11f906d
refactor: revive ctx.obj
ninjinkun Jun 26, 2025
3a53cc3
refactor: revive ctx.obj
ninjinkun Jun 26, 2025
49f547e
refactor: use safer PyPI token variable name
ninjinkun Jun 27, 2025
b9e2c94
Merge branch 'main' into introduce-uv
ninjinkun Jun 27, 2025
034b01e
Merge branch 'introduce-uv' into introduce-typer
ninjinkun Jun 27, 2025
8939b16
Merge pull request #1047 from launchableinc/introduce-uv
ninjinkun Jun 27, 2025
0520574
test: revive test_click.py as test_typer.py
ninjinkun Jun 27, 2025
01c4a31
Merge pull request #1057 from launchableinc/introduce-typer
ninjinkun Jun 27, 2025
7a0d88a
fix: specify the uv commit hash
ninjinkun Jun 25, 2025
cc9894e
refactor: use .python-version
ninjinkun Jun 25, 2025
d67662c
feature: update e2e.yml
ninjinkun Jun 25, 2025
0006e46
Update .github/workflows/e2e.yml
ninjinkun Jun 26, 2025
912c9d6
refactor: use safer PyPI token variable name
ninjinkun Jun 27, 2025
764b3f4
Groovy lang works on JVM but we haven't supported it as jvm_test_pattern
Konboi Jun 19, 2025
bcd8d58
[tagpr] prepare for the next release
github-actions[bot] Jun 19, 2025
54fedcb
support groovy file in the maven profile
Konboi Jun 19, 2025
8bb198b
[tagpr] prepare for the next release
github-actions[bot] Jun 19, 2025
352f62c
install latest version
Konboi Jun 23, 2025
96f62ea
from junitparser v4.0.0 returns JUnitXml instead of testsuite
Konboi Jun 23, 2025
003a6a3
[LCHIB-612] Add a workaround for handling timezone abbreviations in d…
ono-max Jun 13, 2025
6ce9695
Add new tests for checking the behavior
ono-max Jun 23, 2025
442b5da
Use assertEqual instead of assertTrue and assertIn
ono-max Jun 25, 2025
32a3a2e
Add comment
ono-max Jun 25, 2025
6fdcab4
[tagpr] prepare for the next release
github-actions[bot] Jun 25, 2025
e5eb59c
test: revive test_click.py as test_typer.py
ninjinkun Jun 27, 2025
cec182e
feature: rename from launchable to smart-tests
ninjinkun Jun 27, 2025
05e0264
Merge branch 'smart-tests' into rename-to-smart-tests
ninjinkun Jun 27, 2025
feef4b7
Merge pull request #1059 from launchableinc/rename-to-smart-tests
ninjinkun Jun 30, 2025
7720cab
fix: e2e
ninjinkun Jun 30, 2025
e4b8850
fix: e2e
ninjinkun Jun 30, 2025
e8244b8
fix: e2e
ninjinkun Jun 30, 2025
bc2bebb
fix: e2e
ninjinkun Jun 30, 2025
3b01644
feature: gather nested command options
ninjinkun Jun 30, 2025
b543441
fix: type errors
ninjinkun Jun 30, 2025
35bb184
fix: a command in CI
ninjinkun Jun 30, 2025
abb4140
feature: support plugin with Typer
ninjinkun Jul 1, 2025
5bb9747
Merge branch 'support-plugin' into gather-nested-options
ninjinkun Jul 1, 2025
03911fd
fix: type
ninjinkun Jul 1, 2025
22b9df9
fix: dotnet test
ninjinkun Jul 1, 2025
0f7b75d
fix: cts test
ninjinkun Jul 2, 2025
1dd1b85
fix: lint error
ninjinkun Jul 2, 2025
168ca7e
fix: record tests on CI
ninjinkun Jul 2, 2025
19c5ec8
fix: e2e
ninjinkun Jul 2, 2025
ba1d20b
Update smart_tests/__main__.py
ninjinkun Jul 2, 2025
4e57c9f
Update smart_tests/utils/dynamic_commands.py
ninjinkun Jul 2, 2025
493ebe1
Revert "Update smart_tests/__main__.py"
ninjinkun Jul 2, 2025
c7e0239
feature: remove `split-subset` and `inspect tests`
ninjinkun Jul 2, 2025
4a7f6eb
Merge pull request #1061 from launchableinc/gather-nested-options
ninjinkun Jul 4, 2025
ba160e2
Merge pull request #1063 from launchableinc/smart-tests-remove-commands
ninjinkun Jul 4, 2025
94f3d75
feature: remove implicit session generation
ninjinkun Jul 4, 2025
abe5c88
test: fix tests
ninjinkun Jul 4, 2025
4859ddd
test: migrate tests for the new command
ninjinkun Jul 4, 2025
bd7ec73
feature: rename `build --name` to `build --build`
ninjinkun Jul 4, 2025
41c908d
fix: CI
ninjinkun Jul 4, 2025
bee2af5
fix: e2e
ninjinkun Jul 4, 2025
5b6deac
fix: e2e
ninjinkun Jul 4, 2025
31ac972
refactor: use the latest Python syntax with Python 3.13
ninjinkun Jul 4, 2025
c25540c
feature: replace LAUNCHABLE_ env in Java code
ninjinkun Jul 4, 2025
9d662cd
feature: update the jar file
ninjinkun Jul 4, 2025
26ef4ff
refactor: replace a helper with time.time_ns
ninjinkun Jul 4, 2025
fd536c7
Merge pull request #1066 from launchableinc/smart-tests-jar
ninjinkun Jul 4, 2025
6af671d
Merge branch 'smart-tests' into remove-test-session-creation
ninjinkun Jul 4, 2025
06f6ced
feature: make `--session` in `record session` required
ninjinkun Jul 4, 2025
bf53ec3
fix: type error
ninjinkun Jul 4, 2025
35eaa60
fix: comment
ninjinkun Jul 4, 2025
51342af
test: fix tests
ninjinkun Jul 4, 2025
322e80d
Merge branch 'remove-test-session-creation' into modernize
ninjinkun Jul 4, 2025
b70c703
feature: add/remove/edit existing commands
ninjinkun Jul 5, 2025
c20a3ee
refactor: replace remaining Optional with union type
ninjinkun Jul 5, 2025
1971417
Merge branch 'modernize' into the-latest-commands
ninjinkun Jul 5, 2025
4224b24
fix: remove a lineage option
ninjinkun Jul 5, 2025
a2d6a17
fix: CI
ninjinkun Jul 5, 2025
f7d3b08
fix: e2e
ninjinkun Jul 5, 2025
69514cf
fix: remove unused test
ninjinkun Jul 5, 2025
4bfb29d
refactor: replace all .format() with f-strings
ninjinkun Jul 5, 2025
4c74983
feature: rename --reposository to --repo-branch-map
ninjinkun Jul 5, 2025
9e74c0c
Merge branch 'modernize' into the-latest-commands
ninjinkun Jul 5, 2025
1e026c2
feature: remove print_session option
ninjinkun Jul 7, 2025
c54332b
refactor: remove unnecessary session checking
ninjinkun Jul 7, 2025
8edc91f
fix: raise exception for invalid test session id
ninjinkun Jul 7, 2025
df8faa6
fix: add -${GITHUB_JOB} for CI
ninjinkun Jul 7, 2025
f04dcb0
fix: e2e
ninjinkun Jul 7, 2025
01096f6
fix: use OS name
ninjinkun Jul 7, 2025
116c9b3
fix: replace dot
ninjinkun Jul 7, 2025
2aa8b82
fix: commit collection
ninjinkun Jul 7, 2025
0ecf900
test: fix with --no-commit-collection
ninjinkun Jul 7, 2025
0afdd5b
fix: commit
ninjinkun Jul 8, 2025
5b10941
fix: commit
ninjinkun Jul 8, 2025
4480235
fix: commit
ninjinkun Jul 8, 2025
aec09e5
fix: remove --scrub-pii
ninjinkun Jul 8, 2025
b473596
fix: commit
ninjinkun Jul 8, 2025
0c1ec28
Merge branch 'remove-test-session-creation' into the-latest-commands
ninjinkun Jul 8, 2025
f34cb8c
fix: CI file
ninjinkun Jul 8, 2025
5103657
fix: CI file
ninjinkun Jul 8, 2025
1842bb1
fix: put -${{ github.run_attempt }}
ninjinkun Jul 8, 2025
429c3a2
fix: check test session name existance
ninjinkun Jul 8, 2025
a4ee170
Merge branch 'remove-test-session-creation' into the-latest-commands
ninjinkun Jul 8, 2025
15da409
fix: tests for the new session name handling
ninjinkun Jul 8, 2025
e45ac38
Merge branch 'fix-remove-test-session-creation' into remove-test-sess…
ninjinkun Jul 8, 2025
10257bc
Merge branch 'remove-test-session-creation' into the-latest-commands
ninjinkun Jul 8, 2025
72c6e94
fix: base path problem
ninjinkun Jul 10, 2025
2c976a9
Update smart_tests/utils/dynamic_commands.py
ninjinkun Jul 11, 2025
1f724fb
feature: support LAUNCHABLE_TOKEN for backward compatibility
ninjinkun Jul 28, 2025
a126209
fix: the backend allow periods
ninjinkun Jul 29, 2025
cef4c18
feature: allow periods in session names
ninjinkun Jul 29, 2025
3c54ea2
Merge pull request #1067 from launchableinc/remove-test-session-creation
ninjinkun Jul 29, 2025
e580571
Merge branch 'smart-tests' into the-latest-commands
ninjinkun Jul 29, 2025
5c2c6e6
fix: CI
ninjinkun Jul 29, 2025
d2e5ebf
Merge pull request #1068 from launchableinc/the-latest-commands
ninjinkun Jul 29, 2025
3d99aaf
Merge pull request #1070 from launchableinc/fix-base-branch-issue-2
ninjinkun Jul 29, 2025
081c78a
fix: e2e
ninjinkun Jul 29, 2025
09524f1
feature: make `--branch` optional in `record build`
ninjinkun Jul 29, 2025
d70ec79
feature: assert lineage
ninjinkun Jul 30, 2025
f32301f
Merge pull request #1089 from launchableinc/make-branch-optional
ninjinkun Jul 30, 2025
bd2733d
fix: default value
ninjinkun Jul 30, 2025
f597a84
fix: package name
ninjinkun Aug 13, 2025
4676019
fix: update uv.lock
ninjinkun Aug 14, 2025
77325ae
feat: implement fail-fast mode functionality
ninjinkun Aug 14, 2025
98cb75a
fix: resolve remaining linting issues in fail-fast mode
ninjinkun Aug 14, 2025
c5b1e29
feat: add PTS v2 subset auto-collection functionality
Konboi Jul 30, 2025
380fc2c
[AIENG-182] Added a progress report
kohsuke Aug 1, 2025
bd264f6
Enhance longrepr handling in PytestJSONReportParser and add unit tests
ono-max Jul 11, 2025
d5f61f9
merge and refactor codes
Konboi Jul 11, 2025
6ec1dcb
[AIENG-183] optional mode to collect file content, off by default
kohsuke Jul 8, 2025
8275bbf
pytest: Enhance JSON report parsing to handle user properties
ono-max Jul 18, 2025
94d94b8
fix: Refactor user properties handling in PytestJSONReportParser
ono-max Jul 18, 2025
5a5ffad
Rename 'properties' to 'markers' in PytestJSONReportParser for consis…
ono-max Jul 25, 2025
61471f3
Enhance PytestJSONReportParser to handle user properties as JSON
ono-max Jul 25, 2025
f5bcfa1
Validate session flag format in subset command
ninjinkun Aug 15, 2025
784f3f7
Complete pkg_resources migration to importlib.metadata
ninjinkun Aug 15, 2025
2a6221b
Follow up fix to f85f624d3816716a220bcd4123edad30ce88babc
kohsuke Aug 5, 2025
6a7c1dd
Add Windows-specific error handling for percentage parameters
ninjinkun Aug 15, 2025
ea0757d
Report the API endpoint in verify command
ninjinkun Aug 15, 2025
356ca7c
Fix subset command tests and verify API endpoint reporting
ninjinkun Aug 15, 2025
a0e2019
Fix pytest longrepr parsing and test issues
ninjinkun Aug 15, 2025
d61df44
Fix record build test mock endpoints
ninjinkun Aug 15, 2025
8932ed8
Fix all remaining test failures
ninjinkun Aug 15, 2025
fa12410
Merge pull request #1075 from launchableinc/fix-install-git
Konboi Jul 18, 2025
3af0508
Apply Java version error handling fixes
gayanW Jul 22, 2025
2f3950e
Add zero test duration warning display
gayanW Jul 28, 2025
bfbca49
feature: rename docker image name
ninjinkun Aug 15, 2025
5c208d6
Merge pull request #1099 from launchableinc/error-reporting-problem
kohsuke Aug 8, 2025
1be7503
Merge pull request #1101 from cloudbees-oss/rename-to-cb-oss
ninjinkun Aug 12, 2025
2b4e237
feature: migrate Dockerfile with smart-tests-cli config
ninjinkun Aug 15, 2025
25122ff
Complete Medium Priority backports and linting fixes
ninjinkun Aug 15, 2025
fcf348a
Merge pull request #1044 from launchableinc/renovate/actions-attest-b…
kohsuke Aug 5, 2025
3f1bbb3
fix: update doc
ninjinkun Aug 15, 2025
b2d6a3a
fix: grant permission
ninjinkun Aug 15, 2025
c65a472
refactor: remove unused setup.cfg
ninjinkun Aug 15, 2025
e446a31
Revert "refactor: remove unused setup.cfg"
kohsuke Aug 15, 2025
13b4f39
refactor: migrate `setup.cfg` into `pyproject.toml`
ninjinkun Aug 18, 2025
95e6a2e
Merge pull request #1109 from cloudbees-oss/smart-tests-integrate-set…
ninjinkun Aug 18, 2025
70ed2aa
fix: a test for record tests
ninjinkun Aug 19, 2025
4babfc1
fix: test_subset_with_get_tests_from_guess
ninjinkun Aug 19, 2025
81251d6
Backport changes from main branch (e1ff1d31..e636393f)
ninjinkun Aug 19, 2025
9d82b66
fix: test_when_total_test_duration_zero
ninjinkun Aug 19, 2025
7b6745b
refactor: remove intermidiate documents
ninjinkun Aug 19, 2025
d10b7d9
Merge pull request #1108 from cloudbees-oss/smart-tests-docker
ninjinkun Aug 19, 2025
7bbee7b
Merge branch 'smart-tests' into smart-tests-backport
ninjinkun Aug 19, 2025
c53e451
Merge pull request #1112 from cloudbees-oss/smart-tests-backport
ninjinkun Aug 19, 2025
3b31845
Revert "Merge pull request #1112 from cloudbees-oss/smart-tests-backp…
ninjinkun Aug 20, 2025
148a351
Merge branch 'main' into smart-tests-resolve-conflict3
ninjinkun Aug 20, 2025
d95298b
refactor: remove old files
ninjinkun Aug 20, 2025
f752978
fix: use confidence
ninjinkun Aug 20, 2025
1fbb219
fix: use custom types
ninjinkun Aug 20, 2025
7e174bc
fix: use Path
ninjinkun Aug 20, 2025
73d5c17
fix: import paths
ninjinkun Aug 20, 2025
632ddd0
test: add test_typer_types.py
ninjinkun Aug 20, 2025
7e7a2f8
fix: resolve merge miss
ninjinkun Aug 20, 2025
381c6ac
fix: backport methods in launchale_client.py
ninjinkun Aug 20, 2025
acdb26d
fix: test
ninjinkun Aug 20, 2025
a08c973
fix: add alias to `record tests` from `record test`
ninjinkun Aug 20, 2025
1c153ea
Revert "Merge pull request #1112 from cloudbees-oss/smart-tests-backp…
ninjinkun Aug 20, 2025
3262dde
Merge pull request #1116 from cloudbees-oss/revert-backport
ninjinkun Aug 20, 2025
64eecc6
Revert "Merge pull request #1116 from cloudbees-oss/revert-backport"
ninjinkun Aug 20, 2025
66def35
fix: test
ninjinkun Aug 20, 2025
ccffdf8
fix: value interface
ninjinkun Aug 20, 2025
3f3b13e
Merge pull request #1118 from cloudbees-oss/revert-revert-backport-2
ninjinkun Aug 20, 2025
0fafb7f
fix: convert value
ninjinkun Aug 20, 2025
9e92515
fix: remove `invoked_subcommand`
ninjinkun Aug 20, 2025
adabeb4
fix: test
ninjinkun Aug 21, 2025
0ee06b0
fix: test_runner
ninjinkun Aug 21, 2025
b28351e
fix: a test
ninjinkun Aug 21, 2025
369f551
fix: a test file
ninjinkun Aug 21, 2025
f28af20
fix: a test file
ninjinkun Aug 21, 2025
22ffc32
fix: java version test
ninjinkun Aug 21, 2025
aed41e0
fix: a test file
ninjinkun Aug 21, 2025
151fc0e
fix: use assertEqual
ninjinkun Aug 21, 2025
a488c1c
fix: merge miss to call set_fail_fast_mode
ninjinkun Aug 21, 2025
97f768f
fix: pass test_runner
ninjinkun Aug 21, 2025
06b171f
fix: api call counts for calling test session name
ninjinkun Aug 21, 2025
f0fd3b2
fix: tracking event count for reducing traking event in SmartTests CLI
ninjinkun Aug 21, 2025
ce9a107
fix: use getattr to fix type checking
ninjinkun Aug 21, 2025
82c2a4b
fix: merge miss
ninjinkun Aug 21, 2025
21c196f
Merge pull request #1120 from cloudbees-oss/smart-tests-revert-backpo…
ninjinkun Aug 21, 2025
3f89532
fix: remove flavors in the subset command
ninjinkun Aug 22, 2025
107f5e8
fix: remove flavor in the record tests command
ninjinkun Aug 22, 2025
dcc66f9
Merge pull request #1117 from cloudbees-oss/smart-tests-resolve-confl…
ninjinkun Aug 25, 2025
c5d09c6
fix: make `--name` optional in `record commit` command
ninjinkun Aug 25, 2025
345ad3c
Merge pull request #1121 from cloudbees-oss/smart-tests-commit-name-o…
ninjinkun Aug 25, 2025
25febfe
fix: flavor's type
ninjinkun Aug 25, 2025
38938eb
[chore] use smart-tests/Smart Tests instead of launchable/Launchable
Konboi Sep 1, 2025
c4aa03a
Merge pull request #1123 from cloudbees-oss/fix-message
Konboi Sep 2, 2025
a466266
[chore] rename from LaunchableClint to SmartTestsClient
Konboi Sep 2, 2025
ca2d93f
[chore] debug to run CI
Konboi Sep 2, 2025
356fb74
[chore] to align SMART_TESTS_TOKEN
Konboi Sep 2, 2025
3ccb2a1
Merge pull request #1124 from cloudbees-oss/remove-launchable
Konboi Sep 4, 2025
c298ce4
add util method to print error message and exit as 1
Konboi Sep 4, 2025
34179d4
add TODO
Konboi Sep 4, 2025
be398f4
decided to omit name option from the v2 inital release
Konboi Sep 4, 2025
e422c21
exe_deploy.jar was outdated
Konboi Sep 4, 2025
8bdd174
align with v1
Konboi Sep 4, 2025
e8b630e
omitted --session (a.k.a session name) option from the record session…
Konboi Sep 4, 2025
8a9545c
to check whether observation mode or not from session, added util met…
Konboi Sep 4, 2025
7c35097
[chore] rm unused codes
Konboi Sep 4, 2025
836119f
move commands.helper methods to utils.session
Konboi Sep 4, 2025
c991e44
check http status and run validation
Konboi Sep 4, 2025
9407b44
fix:
Konboi Sep 4, 2025
a95068a
fix duplicated parse_session
Konboi Sep 4, 2025
618ccfb
fix import place
Konboi Sep 4, 2025
7877662
fix test
Konboi Sep 4, 2025
3432018
remove --build option and --no-build option from the record tests com…
Konboi Sep 4, 2025
9aa08f8
fix test
Konboi Sep 4, 2025
1d41207
remove --build option and --no-build option from the attachment command
Konboi Sep 5, 2025
4a990a5
fix CI script
Konboi Sep 11, 2025
3acc9a3
fix tests
Konboi Sep 11, 2025
6cfdebc
Merge pull request #1125 from cloudbees-oss/stop-requiring-build-option
Konboi Sep 11, 2025
810fc0b
use typer method instead of custom logic
Konboi Sep 11, 2025
dc7b3f4
fix type
Konboi Sep 16, 2025
537f1d2
[chore] we don't need test it
Konboi Sep 16, 2025
2286bd4
updated not to require --session option in some commands
Konboi Sep 16, 2025
e9d8120
Merge pull request #1132 from cloudbees-oss/use-typer-func
Konboi Sep 16, 2025
82664f6
Merge pull request #1133 from cloudbees-oss/fix-e2e-test
Konboi Sep 16, 2025
c37b0ad
Merge pull request #1114 from cloudbees-oss/smart-tests
Konboi Sep 16, 2025
05e5a15
[tagpr] prepare for the next release
github-actions[bot] Sep 16, 2025
e3f635a
[chore] report an error in subset call
kohsuke Sep 5, 2025
df98d4b
Add tests
ono-max Sep 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 54 additions & 43 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,120 +2,131 @@ name: e2e

on:
push:
branches: [main]
branches: [main, smart-tests] # smart-tests branch temporarily added for Smart Tests CLI development
workflow_dispatch:


env:
LAUNCHABLE_DEBUG: 1
LAUNCHABLE_REPORT_ERROR: 1
SMART_TESTS_DEBUG: 1
SMART_TESTS_REPORT_ERROR: 1
# The WORKSPACE file is disabled by default in Bazel 8.
# As a workaround, we configure the old version.
USE_BAZEL_VERSION: "7.x"

jobs:
tests:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, "3.10"]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
repository: launchableinc/examples
path: examples
- name: Set up JDK 1.8
uses: actions/setup-java@v4
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
with:
java-version: 8
distribution: 'temurin'
- uses: actions/setup-go@v5
distribution: "temurin"
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
with:
go-version: 1.24
- uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@caf0cab7a618c569241d31dcd442f54681755d39 # v3
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .
run: uv sync --dev && uv tool install .
# bazel
- name: Install Bazelisk
run: |
go install github.com/bazelbuild/bazelisk@latest
- name: "bazel: verify"
run: "launchable verify"
run: "smart-tests verify"
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
- name: "bazel: Record build"
run: 'launchable record build --name "$GITHUB_RUN_ID" --source main=../.. --source cli=../../..'
run: 'smart-tests record build --build "$GITHUB_RUN_ID" --source main=../.. --source cli=../../..'
env:
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
working-directory: examples/bazel/java
- name: "bazel: Record session"
run: 'smart-tests record session --build "$GITHUB_RUN_ID" --test-suite "bazel" > bazel-test-session.txt'
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
working-directory: examples/bazel/java
- name: "bazel: Subset"
run: bazelisk query 'tests(//...)' | launchable subset --target 30% bazel > subset.txt
run: bazelisk query 'tests(//...)' | smart-tests subset bazel --session $(cat bazel-test-session.txt) --target 30% > subset.txt
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
working-directory: examples/bazel/java
- name: "bazel: Run test"
run: bazelisk test $(cat subset.txt)
working-directory: examples/bazel/java
- name: "bazel: Record test results"
run: launchable record tests bazel .
run: smart-tests record test bazel --session $(cat bazel-test-session.txt) .
if: always()
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_BAZEL }}
working-directory: examples/bazel/java
# go
- name: Install go-junit-report
run: |
go install github.com/jstemmer/go-junit-report@latest
working-directory: examples/go
- name: "go: verify"
run: "launchable verify"
run: "smart-tests verify"
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
- name: "go: Record build"
run: 'launchable record build --name "$GITHUB_RUN_ID" --source main=.. --source cli=../..'
run: 'smart-tests record build --build "$GITHUB_RUN_ID" --source main=.. --source cli=../..'
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
working-directory: examples/go
- name: "go: Record session"
run: 'smart-tests record session --build "$GITHUB_RUN_ID" --test-suite "go-test" > go-test-session.txt'
env:
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
working-directory: examples/go
- name: "go: Subset"
run: go test -list="Test|Example" ./... | launchable subset --confidence 80% go-test > launchable-subset.txt
run: go test -list="Test|Example" ./... | smart-tests subset go-test --session $(cat go-test-session.txt) --confidence 80% > smart-tests-subset.txt
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
working-directory: examples/go
- name: "go: Run test"
run: go test -run $(cat launchable-subset.txt) ./... -v 2>&1 | go-junit-report -set-exit-code > report.xml
run: go test -run $(cat smart-tests-subset.txt) ./... -v 2>&1 | go-junit-report -set-exit-code > report.xml
working-directory: examples/go
- name: "go: Record test results"
run: launchable record tests go-test report.xml
run: smart-tests record test go-test --session $(cat go-test-session.txt) report.xml
if: always()
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GO }}
working-directory: examples/go
# gradle
- name: "gradle: verify"
run: "launchable verify"
run: "smart-tests verify"
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
- name: "gradle: Record build"
run: 'launchable record build --name "$GITHUB_RUN_ID" --source main=.. --source cli=../..'
run: 'smart-tests record build --build "$GITHUB_RUN_ID" --source main=.. --source cli=../..'
env:
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
working-directory: examples/gradle
- name: "gradle: Record session"
run: 'smart-tests record session --build "$GITHUB_RUN_ID" --test-suite "gradle" > gradle-test-session.txt'
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
working-directory: examples/gradle
- name: "gradle: Subset"
run: launchable subset --target 80% gradle src/test/java > launchable-subset.txt
run: smart-tests subset gradle --session $(cat gradle-test-session.txt) --target 80% src/test/java > smart-tests-subset.txt
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
working-directory: examples/gradle
- name: "gradle: Run test"
run: ./gradlew test $(cat launchable-subset.txt)
run: ./gradlew test $(cat smart-tests-subset.txt)
working-directory: examples/gradle
- name: "gradle: Record test results"
run: launchable record tests gradle build/test-results/test
run: smart-tests record test gradle --session $(cat gradle-test-session.txt) build/test-results/test
if: always()
env:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
SMART_TESTS_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN_GRADLE }}
working-directory: examples/gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflows will upload a Python Package
# For more information see: https://github.com/marketplace/actions/pypi-publish
# Publish workflow for the Smart Tests CLI
# Builds and publishes packages to PyPI and Docker Hub

name: Upload Python Package
name: Publish

on:
workflow_dispatch:
Expand All @@ -10,7 +10,7 @@ on:
- main

env:
IMAGE_NAME: cloudbees/launchable
IMAGE_NAME: cloudbees/smart-tests-cli

jobs:
tagpr:
Expand Down Expand Up @@ -38,38 +38,19 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
# build and publish package using GitHub Actions workflow
# https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
- name: Install pypa/build
run: >-
python -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: >-
python -m
build
--sdist
--wheel
--outdir dist/
.
# actual publish
- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Build package
run: uv build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
run: uv publish --token ${{ secrets.SMART_TESTS_PYPI_API_TOKEN }}
- name: Actions for Discord
uses: Ilshidur/action-discord@0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
args: 'Launchable CLI ${{ needs.tagpr.outputs.tag }} is released! https://github.com/cloudbees-oss/smart-tests-cli/releases/tag/${{ needs.tagpr.outputs.tag }}'
args: 'Smart Tests CLI ${{ needs.tagpr.outputs.tag }} is released! https://github.com/launchableinc/cli/releases/tag/${{ needs.tagpr.outputs.tag }}'

docker:
name: Push Docker image to Docker Hub
Expand Down
119 changes: 0 additions & 119 deletions .github/workflows/python-package.yml

This file was deleted.

Loading