Repository navigation
Issue 4664 allow a custom default version for a tool - #4665
Merged
SilinPavel merged 17 commits intoNov 6, 2026
Merged
SilinPavel merged 17 commits into
SilinPavel merged 17 commits into
Conversation
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…ension Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
… a tool Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…a default version Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…s image deletes the default one Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…sion of the default version's image Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…ult version's image Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…g and the launch form settings, drop stale default settings, name the fallback version in the deletion warning Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
…of a tool without the latest version Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com>
Contributor
|
Pushed 3 commits with GUI review fixes and the agreed behaviour of the default version controls. Behaviour of the Versions tab (agreed)
Fixes
Docs and test cases
Checks
Commits: |
SilinPavel
marked this pull request as ready for review
November 6, 2026 12:04
SilinPavel
added a commit
that referenced
this pull request
Nov 6, 2026
* Issue 4656 pin run pod images by docker image digest Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4656 show the run's docker image digest in the GUI Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4656 show the run's docker image digest in pipe view-runs Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Docs: Issue 4656 describe pinning a run to the docker image digest Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4656 add UI testcases for the docker image digest pinning Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4656 share the docker image digest check between the run pages Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4656 pin run image digest: refactor to have resolveImageDigest as part of ToolManager * Issue 4656 reuse digest during restart a run * Issue 4664 allow a custom default version for a tool (#4665) * Issue 4664 allow a custom default version for a tool Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 set, show and use the default version of a tool in the GUI Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 launch the default version of a tool from pipe run Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 preselect the default version of a tool in the VS Code extension Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Docs: Issue 4664 describe the default version of a tool Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 add UI testcases for the default version of a tool Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 fix the spacing and wording of the default version messages Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 update the UI testcases affected by the default version of a tool Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 do not push the latest version on commit into a tool with a default version Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Docs: Issue 4664 describe a commit into a tool with a default version Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 warn that deleting another version of the default version's image deletes the default one Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 expect the deletion warning in the testcase of another version of the default version's image Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Docs: Issue 4664 the deletion warning for another version of the default version's image Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 GUI: use the default version for a pool image without a tag and the launch form settings, drop stale default settings, name the fallback version in the deletion warning Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Docs: Issue 4664 the version used once the default version is deleted Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 testcases for the deletion warning of the default version of a tool without the latest version Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> * Issue 4664 default tool version: refactor --------- Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> Co-authored-by: Mikhail Rodichenko <Mikhail_Rodichenko@epam.com> Co-authored-by: Pavel Silin <pavel_silin@epam.com> * issue 4656 fix for defaultVersion after merge --------- Co-authored-by: Cloud Pipeline Agent (Claude Opus 5.5) <noreply@epam.com> Co-authored-by: Mikhail Rodichenko <Mikhail_Rodichenko@epam.com> Co-authored-by: Pavel Silin <pavel_silin@epam.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements #4664
Related to #4660 — this branch is based on
issue_4656/pin_run_image_digest, so it shall be merged after #4660.Any version of a tool can be set as its default version, which is used in place of
latest. Users with theWRITEpermission set and remove it at the Versions tab (POST /tool/{id}/defaultVersion?version=,DELETE /tool/{id}/defaultVersion;/tool/updatedoes not touch it). An image without a tag resolves to the default version, elselatest, from the tool record only, with no registry call (see the comment on #4664); the GUI and the VS Code extension pre-select the default version if it exists, elselatest, else the only version, and always send an explicit tag. A tool without a default version behaves as before. Symlinks use the default version of the original tool. Deleting the default version, or another version of the same image (same digest), removes it, and the delete confirmation warns about both.The tool platform, the registry tree OS and the GPU tool detection, which were joined on
latest, follow the default version too. Fixed on the way: an endless recursion in the launch form parameters fallback (version[0]instead ofversions[0]) and the AI chat launch formdefaultTaggetter (fotmStore). Thevscode-cloud-pipelinemodule gets a test runner (npm test, the Node 20 test runner, no new dependencies).A commit no longer pushes
latestinto a tool, which has a default version set (commit_run.shasks the newcommit_run.py idvsonly whenlatestis missing; an older pipe-common, which does not knowidvs, answers nothing, andlatestis pushed as before). The new version gets the settings of the default version of the run's tool, not always those oflatest; a commit into the run's own version, or into that default version, copies nothing, as a commit intolatestdid. pipe-common'sToolcarriesdefault_version, which is not sent back into_json.The commits are split by area: API and core, GUI, CLI, VS Code extension, the commit scripts and pipe-common, docs, and the manual UI test cases (
docs/testcases/UI/Tools/4664_default_version, 4664_1 to 4664_12, indexed inGUI_tests.md; 4419_1, 4419_5 and 2323_1 now name the default version where they relied onlatest).Test plan
:api:test, the whole suite, against PostgreSQL 16.4 as in CI: 4172 tests, 0 failures, 42 skipped; checkstyle and PMD ofapiandcore:core:test,:notifier:smtp:testclient:npm test(333 tests),npm run lintandnpm run stylelint(no new problems; the lint baseline shrank)pipe-clion Python 2.7: the new tests pass;tests/test_pipe.py,tests/apifail the same 10 tests as on the base commitvscode-cloud-pipeline:npm test(compile and 5 tests)workflows/pipe-common,pyteston Python 3.12: 383 passed; on Python 2.7: 381 passed, and the 2test_scale_down.pyfailures known ondevelop. The new tests covercommit_run.py, the API client'sTool, andcommit_run.shitself, run with stubs (test_commit_run_script.py); 20 of their 27 fail without the change7, thenv2, a run oflibrary/centoswithout a tag gotcentos:7, thencentos:v2, and thev2run succeeded on its own node (the registry has nolatest); deleting the default version clears it, and a delete the registry refuses keeps itv2 (default), the delete warning and the deletion. Two messages fixed after it (7d2613c)aandbof one image andcof another, defaulta: deletingbwarns thatarefers to the same image,chas no warning,ahas the plain one; deletingbremovedatoo and cleared the default7, committed intov3pushed nolatestand loggedtool has a default version set, latest version will not be created, andv3got the settings of7; with the default removed, a commit intov4createdlatest, as beforepipe runlive: no Python 3 image here for this branch'spipe🤖 Generated with Claude Code