Skip to content

Conversation

@vaibhavdaren
Copy link
Contributor

@vaibhavdaren vaibhavdaren commented Dec 24, 2025

Add simple, example-based integration tests for artifact providers:

  • koji.build: Fetches packages from Koji using build IDs
  • repository-url: Configures external package repositories
  • multi: Demonstrates using multiple providers together

Once the design is approved, additional providers (koji.task, koji.nvr, file, copr.build, brew.*) can be added following the same pattern.

Related to #4420

@vaibhavdaren vaibhavdaren added the ci | skip Do not run any tests (useful for very early drafts). label Dec 24, 2025
@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch 3 times, most recently from dc828a0 to ca4c960 Compare December 29, 2025 18:11
@vaibhavdaren vaibhavdaren added ci | full test Pull request is ready for the full test execution plugin | artifact Related to the `prepare/artifact` plugin. test coverage Improvements or additions to test coverage of tmt itself and removed ci | skip Do not run any tests (useful for very early drafts). labels Jan 5, 2026
@vaibhavdaren vaibhavdaren marked this pull request as ready for review January 5, 2026 12:41
@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch from ca4c960 to a5284c8 Compare January 6, 2026 12:30
@github-project-automation github-project-automation bot moved this to backlog in planning Jan 6, 2026
@happz happz moved this from backlog to review in planning Jan 6, 2026
@vaibhavdaren vaibhavdaren self-assigned this Jan 7, 2026
@LecrisUT LecrisUT self-assigned this Jan 7, 2026
Copy link
Contributor

@LecrisUT LecrisUT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the goal for this PR to split the /tests/prepare/artifact into individual provider tests? If so, why not add it to it instead? For example you can add a for loop in the test.sh to loop over each provider if that is the intent.

One concern with the current approach is that the koji list-tagged logic is quite non-trivial and would prefer to be defined in a single place.

@psss psss added this to the 1.65 milestone Jan 8, 2026
@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch 2 times, most recently from d3d3e13 to 92bad06 Compare January 8, 2026 13:39
@vaibhavdaren vaibhavdaren added the code | no functional change "No Functional Change" intended. Patch should not change tmt's behavior in any way. label Jan 9, 2026
@teemtee teemtee deleted a comment from graphite-app bot Jan 9, 2026
@teemtee teemtee deleted a comment from graphite-app bot Jan 9, 2026
@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch from 92bad06 to 6e7c129 Compare January 9, 2026 09:58
Copy link
Collaborator

@tcornell-bus tcornell-bus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor questions, but LGTM overall!

Copy link
Collaborator

@tcornell-bus tcornell-bus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but in the tests on fedora-rawhide there is an issue with finding make on koji I guess?

@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch from b0c23dc to d3a60c8 Compare January 12, 2026 22:16
@vaibhavdaren
Copy link
Contributor Author

IIUIC, this does not completely cover #4420, right? Then I guess we should unlink it from that issue, otherwise closing this pull request will close it.

Yes, this is 1st PR for the issue (This provides more of a framework and common functions). I will send separate PR's for each of the other providers to keep it simple for the reviewers.

Used Related to to link the PR instead.

@vaibhavdaren vaibhavdaren force-pushed the vaibhav-artifact-install-integration-tests branch 2 times, most recently from cb2c5b3 to b8f1dbe Compare January 19, 2026 21:28
@vaibhavdaren vaibhavdaren moved this from implement to merge in planning Jan 20, 2026
@happz happz force-pushed the vaibhav-artifact-install-integration-tests branch from b8f1dbe to f6ca434 Compare January 20, 2026 13:29
Add simple, example-based integration tests for artifact providers:
- koji.build: Fetches packages from Koji using build IDs
- repository-url: Configures external package repositories
- multi: Demonstrates using multiple providers together

These tests serve as usage examples and verify basic functionality.
Each test:
- Shows clear usage of the --provide argument
- Runs a complete tmt workflow
- Verifies packages are installed correctly

Once the design is approved, additional providers (koji.task, koji.nvr,
file, copr.build, brew.*) can be added following the same pattern.

Related to #4420
- Remove plan file test phases, keep only CLI override tests
- Use koji.build:DUMMY placeholder with explanatory comments
- Enhance lib/common.sh with perl regex documentation and rlLog wrappers
- Refactor parent test.sh to use shared get_koji_build_id function
- Fix FMF inheritance: add test selector to parent, remove duplicate tags
- Improve assertions to check specific log messages
- Add package source verification using dnf info --installed
Prevents stale values from persisting if the function is called
multiple times and fails on a subsequent call.
- Change grep -eq to -Eq (capital E enables extended regex for \s*)
- Update regex to handle dnf5 output format which has space before colon
  (e.g., "From repository :" instead of "From repository:")
@happz happz force-pushed the vaibhav-artifact-install-integration-tests branch from f6ca434 to 3a9909b Compare January 20, 2026 14:35
@happz happz merged commit ecf36a0 into main Jan 20, 2026
28 checks passed
@github-project-automation github-project-automation bot moved this from merge to done in planning Jan 20, 2026
@happz happz deleted the vaibhav-artifact-install-integration-tests branch January 20, 2026 20:42
vaibhavdaren added a commit that referenced this pull request Jan 21, 2026
Add example-based integration test for the copr-repository artifact
provider using mariobl/pyspread Copr repository. The test verifies
that the pyspread package can be installed from the Copr repository
and checks the package source.

Related to #4449
vaibhavdaren added a commit that referenced this pull request Jan 23, 2026
Add example-based integration test for the copr-repository artifact
provider using mariobl/pyspread Copr repository. The test verifies
that the pyspread package can be installed from the Copr repository
and checks the package source.

Related to #4449
vaibhavdaren added a commit that referenced this pull request Jan 23, 2026
Add example-based integration test for the copr-repository artifact
provider using mariobl/pyspread Copr repository. The test verifies
that the pyspread package can be installed from the Copr repository
and checks the package source.

Related to #4449
happz pushed a commit that referenced this pull request Jan 23, 2026
Add example-based integration test for the copr-repository artifact
provider using mariobl/pyspread Copr repository. The test verifies
that the pyspread package can be installed from the Copr repository
and checks the package source.

Related to #4449
happz pushed a commit that referenced this pull request Jan 23, 2026
Add example-based integration test for the copr-repository artifact
provider using mariobl/pyspread Copr repository. The test verifies that
the pyspread package can be installed from the Copr repository and
checks the package source.

Related to #4449
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci | full test Pull request is ready for the full test execution code | no functional change "No Functional Change" intended. Patch should not change tmt's behavior in any way. plugin | artifact Related to the `prepare/artifact` plugin. test coverage Improvements or additions to test coverage of tmt itself

Projects

Status: done

Development

Successfully merging this pull request may close these issues.

7 participants