Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions docs/releases/pending/4661.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
description: |
Full :tmt:story:`recipe</spec/recipe>` loading is now supported,
and all phases can now be loaded directly from the recipe.
Note that the recipe feature is still experimental and subject to change.
7 changes: 2 additions & 5 deletions spec/recipe.fmf
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,8 @@ description: |
plans:
# String, name of the plan
- name: /plan/name
# Mapping, stores plan environment from various sources
environment-from-fmf: ...
environment-from-importing: ...
environment-from-cli: ...
environment-from-intrinsics: ...
# Mapping, stores plan environment
environment: ...
# Mapping, stores plan context
context: ...

Expand Down
170 changes: 51 additions & 119 deletions tests/recipe/data/import.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,192 +4,124 @@ run:
environment:
RUN_ENV: run_value
context: {}
__class__:
module: tmt.recipe
name: _RecipeRun
plans:
- name: /plans/import
summary: A simple smoke plan for remote testing
description: This is just a simple smoke plan used for testing import of
remote plans. See the related test coverage for more details.
author: []
contact: []
enabled: true
order: 50
id:
tag: []
tier:
adjust: []
link:
- relates: https://github.com/teemtee/tmt/tree/main/tests/plan/import
environment-from-fmf: {}
environment-from-importing:
PLAN_ENV: plan_value
environment-from-cli:
RUN_ENV: run_value
environment-from-intrinsics:
TMT_VERSION: version
TMT_TREE: /run_path/plans/import/tree
TMT_PLAN_DATA: /run_path/plans/import/data
TMT_PLAN_ENVIRONMENT_FILE:
/run_path/plans/import/data/variables.env
TMT_PLAN_SOURCE_SCRIPT:
/run_path/plans/import/data/plan-source-script.sh
discover:
enabled: true
phases:
- name: default-0
how: fmf
order: 50
when: []
summary:
where: &id001 []
url:
url-content-type: git
ref:
dist-git-source: false
dist-git-type:
dist-git-download-only: false
dist-git-install-builddeps: false
dist-git-require: []
require-test: []
path:
test: []
link: []
filter:
- tag:remote
include: []
exclude: []
modified-only: false
modified-url:
modified-ref:
dist-git-init: false
dist-git-remove-fmf-root: false
dist-git-merge: false
dist-git-extract:
sync-repo: false
fmf-id: false
prune: false
adjust-tests: []
upgrade-path:
repository:
revision:
__class__:
module: tmt.steps.discover.fmf
name: DiscoverFmfStepData
tests:
- name: /tests/one
discover-phase: default-0
test: echo one
path: /default-0/tests/tests
summary: Remote test one
description:
author: []
contact: []
enabled: true
order: 50
id:
tag:
- remote
tier:
adjust: []
component: []
framework: shell
manual: false
tty: false
duration: 5m
where: *id001
restart-on-exit-code: []
restart-max-count: 1
restart-with-reboot: false
serial-number: 1
discover-phase: default-0
link: []
test: echo one
path: /default-0/tests/tests
require: []
recommend: []
environment: {}
result: respect
check: []
__class__:
module: tmt.recipe
name: _RecipeTest
- name: /tests/two
discover-phase: default-0
test: echo two
path: /default-0/tests/tests
summary: Remote test two
description:
author: []
contact: []
enabled: true
order: 50
id:
tag:
- remote
tier:
adjust: []
component: []
framework: shell
manual: false
tty: false
duration: 5m
where: *id001
restart-on-exit-code: []
restart-max-count: 1
restart-with-reboot: false
serial-number: 2
discover-phase: default-0
link: []
test: echo two
path: /default-0/tests/tests
require: []
recommend: []
environment: {}
result: respect
check: []
__class__:
module: tmt.recipe
name: _RecipeTest
__class__:
module: tmt.recipe
name: _RecipeDiscoverStep
provision:
enabled: false
phases: []
__class__:
module: tmt.recipe
name: _RecipeStep
phases:
- name: default-0
how: local
order: 50
become: false
prepare:
enabled: false
phases: []
__class__:
module: tmt.recipe
name: _RecipeStep
phases:
- name: enable-latest-copr
how: install
order: 50
summary: Enable copr repo with the latest tmt bits
copr:
- '@teemtee/latest'
missing: fail
- name: disable-tag-repo
how: shell
order: 50
summary: Completely disable the tag repository
script:
- "dnf repolist | grep testing-farm-tag-repository || exit 0\nif command
-v dnf5; then\n dnf config-manager setopt testing-farm-tag-repository.enabled=0\n\
else\n dnf config-manager --set-disabled testing-farm-tag-repository\n\
fi\n"
execute:
enabled: false
phases: []
phases:
- name: default-0
how: tmt
order: 50
duration: 1h
ignore-duration: false
exit-first: false
interactive: false
restraint-compatible: false
no-progress-bar: false
results-path: plans/import/execute/results.yaml
__class__:
module: tmt.recipe
name: _RecipeExecuteStep
report:
enabled: false
phases: []
__class__:
module: tmt.recipe
name: _RecipeStep
phases:
- name: default-0
how: display
order: 50
display-guest: auto
finish:
enabled: false
phases: []
__class__:
module: tmt.recipe
name: _RecipeStep
phases:
- name: default-0
how: shell
order: 50
cleanup:
enabled: false
phases: []
__class__:
module: tmt.recipe
name: _RecipeStep
context: {}
__class__:
module: tmt.recipe
name: _RecipePlan
__class__:
module: tmt.recipe
name: Recipe
phases:
- name: default-0
how: tmt
order: 50
Loading
Loading