Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
epm-docker-test
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
epm-docker-test
Commits
563f2a2d
Commit
563f2a2d
authored
May 09, 2026
by
Ivan Mazhukin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
allow presets for parallel runs
parent
e2b69b04
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
63 additions
and
2 deletions
+63
-2
README.md
vscode-extension/README.md
+1
-1
extension.js
vscode-extension/extension.js
+62
-1
No files found.
vscode-extension/README.md
View file @
563f2a2d
...
...
@@ -36,7 +36,7 @@ The same VSIX can be installed from the VS Code command `Extensions: Install fro
## Actions
-
`Run app on systems`
: asks for an app and target systems.
-
`Run app on systems parallel`
: asks for an app
and target systems, then
passes
`--parallel`
.
-
`Run app on systems parallel`
: asks for an app
, then lets you choose a preset or type target systems manually, and
passes
`--parallel`
.
-
`Run app preset`
: asks for an app and
`main`
,
`russian`
, or
`all`
.
-
`Run exec command`
: asks for a shell command and target systems or preset.
-
`./bin/epm play <app>`
: runs a local play command outside Docker.
...
...
vscode-extension/extension.js
View file @
563f2a2d
...
...
@@ -141,8 +141,25 @@ async function runApp(parallel) {
return
;
}
if
(
parallel
)
{
const
target
=
await
pickParallelTarget
();
if
(
!
target
)
{
return
;
}
await
setWorkspaceState
(
'lastApp'
,
app
);
if
(
target
.
preset
)
{
await
executeTest
({
app
,
preset
:
target
.
preset
,
parallel
});
return
;
}
await
setWorkspaceState
(
'lastSystems'
,
target
.
systems
);
await
executeTest
({
app
,
systems
:
splitArgs
(
target
.
systems
),
parallel
});
return
;
}
const
systems
=
await
promptForSystems
({
title
:
parallel
?
'EPM Docker Test Parallel'
:
'EPM Docker Test'
,
title
:
'EPM Docker Test'
,
prompt
:
'Target systems separated by spaces'
,
fallback
:
getWorkspaceState
(
'lastSystems'
,
getConfig
().
get
(
'defaultSystems'
,
'fedora'
))
});
...
...
@@ -155,6 +172,50 @@ async function runApp(parallel) {
await
executeTest
({
app
,
systems
:
splitArgs
(
systems
),
parallel
});
}
async
function
pickParallelTarget
()
{
const
defaultPreset
=
getConfig
().
get
(
'defaultPreset'
,
'main'
);
const
presetItems
=
[
'main'
,
'russian'
,
'all'
]
.
filter
((
preset
)
=>
preset
!==
defaultPreset
)
.
map
((
preset
)
=>
({
label
:
`$(list-selection) Preset:
${
preset
}
`
,
preset
}));
const
choice
=
await
vscode
.
window
.
showQuickPick
([
{
label
:
`$(list-selection) Preset:
${
defaultPreset
}
`
,
description
:
'Default preset'
,
preset
:
defaultPreset
},
...
presetItems
,
{
label
:
'$(edit) Custom systems...'
,
description
:
'Type target systems manually'
,
custom
:
true
},
{
label
:
'$(close) Отмена'
,
cancel
:
true
}
],
{
title
:
'EPM Docker Test Parallel'
,
placeHolder
:
'Choose preset or custom target systems'
});
if
(
!
choice
||
choice
.
cancel
)
{
return
undefined
;
}
if
(
choice
.
preset
)
{
return
{
preset
:
choice
.
preset
};
}
const
systems
=
await
promptForSystems
({
title
:
'EPM Docker Test Parallel'
,
prompt
:
'Target systems separated by spaces'
,
fallback
:
getWorkspaceState
(
'lastSystems'
,
getConfig
().
get
(
'defaultSystems'
,
'fedora'
))
});
return
systems
?
{
systems
}
:
undefined
;
}
async
function
runPreset
()
{
const
app
=
await
promptForApp
({
title
:
'EPM Docker Test'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment