Skip to content

Add RISC-V support for testcloud provision - #4964

Open
peeweep wants to merge 2 commits into
teemtee:mainfrom
peeweep:riscv64-virtual-testcloud
Open

Add RISC-V support for testcloud provision#4964
peeweep wants to merge 2 commits into
teemtee:mainfrom
peeweep:riscv64-virtual-testcloud

Conversation

@peeweep

@peeweep peeweep commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Depend on: teemtee/testcloud#29

Pull Request Checklist

  • implement the feature

@peeweep
peeweep requested a review from lbrabec as a code owner June 7, 2026 20:17

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds support for the riscv64 architecture in the tmt schemas and the testcloud provisioner. The feedback suggests sorting the imported classes alphabetically in tmt/steps/provision/testcloud.py to maintain PEP 8 compliance.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread tmt/steps/provision/testcloud.py
@peeweep
peeweep force-pushed the riscv64-virtual-testcloud branch from 8d72c60 to d279441 Compare June 7, 2026 20:21
@LecrisUT

LecrisUT commented Jun 8, 2026

Copy link
Copy Markdown
Member

/packit build

@vaibhavdaren vaibhavdaren added the ci | full test Pull request is ready for the full test execution label Jun 8, 2026
@github-project-automation github-project-automation Bot moved this to backlog in planning Jun 10, 2026
@therazix therazix moved this from backlog to review in planning Jun 10, 2026
@happz

happz commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Given the dependency on a particular (unreleased) version of testcloud, should we add also a minimal version constraint to the specfile? Combining this tmt version and any testcloud version will not work correctly.

@LecrisUT

LecrisUT commented Jul 1, 2026

Copy link
Copy Markdown
Member

should we add also a minimal version constraint to the specfile?

Oh boy, do you want to do the copr build dependency dance? We are in the issue of multiple python version dependency in different Fedora releases

@happz

happz commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

should we add also a minimal version constraint to the specfile?

Oh boy, do you want to do the copr build dependency dance? We are in the issue of multiple python version dependency in different Fedora releases

I'm not sure I follow, or at least I don't understand what kind of "dance" would this be. I'm asking because unless I misunderstand something, I see the following two issues:

  • Once this MR is merged, virtual will fail to run unless the right version of testcloud is available, the one tmt could import RISCV64ArchitectureConfiguration from. tmt combined with any other testcloud version would report "failed to import testcloud" kind of error.
  • Once tmt with this MR is released, updating tmt on my workstation will most likely not pull in new testcloud package, because I already have one installed. Running tmt will crash, and I will need to update testcloud as well.

TL;DR, there's a library that will add a functionality, and there's an app that requires said functionality to build new feature on top of it. It's certainly possible to package the app without requiring the library be of version that provides the functionality, or newer, but doesn't that spell breakage in possibly many environments, lowering the user experience?

@LecrisUT

LecrisUT commented Jul 1, 2026

Copy link
Copy Markdown
Member

I'm not sure I follow, or at least I don't understand what kind of "dance" would this be

  • we need the new testcloud version in both copr repos. PRs will be fine by

    tmt/.packit.yaml

    Lines 52 to 53 in 699dff2

    additional_repos:
    - copr://@teemtee/stable
  • on testing-farm we inject the copr repo via

    tmt/.packit.yaml

    Lines 74 to 76 in 699dff2

    - type: repository-file
    # yamllint disable-line rule:line-length
    id: https://copr.fedorainfracloud.org/coprs/g/teemtee/stable/repo/fedora-rawhide/group_teemtee-stable-fedora-rawhide.repo

    But that provides python3.15 versions of testcloud, not the versions that we want in the copr build artifacts (python3.14dist(testcloud))

I am not saying that we should not add the requirement restriction, just that we have to figure out the order of copr when we do so. Remember the fmf issue we had a few weeks prior

@happz

happz commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

I am not saying that we should not add the requirement restriction

Hm, I guess "Oh boy, do you want to do the copr build dependency dance?" fooled me then, I took it as a rather sarcastic way of questioning the idea of adding a versioned requirement.

just that we have to figure out the order of copr when we do so.

Sure.

Remember the fmf issue we had a few weeks prior

Wasn't that complicated by fmf also depending on tmt for some reason?

@peeweep

peeweep commented Jul 4, 2026

Copy link
Copy Markdown
Contributor Author

If using a testcloud version without teemtee/testcloud#29, it'll fail with:

cannot import name 'RISCV64ArchitectureConfiguration' from 'testcloud.domain_configuration'

Updated the minimum testcloud version to 0.11.9 in pyproject.toml and tmt.spec (assuming teemtee/testcloud#29 will be merged in 0.11.9)

@peeweep
peeweep force-pushed the riscv64-virtual-testcloud branch from 3f3f777 to 5b93ab3 Compare July 4, 2026 09:34
@peeweep
peeweep force-pushed the riscv64-virtual-testcloud branch from 5b93ab3 to ad6d299 Compare July 4, 2026 09:35
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

Projects

Status: review

Development

Successfully merging this pull request may close these issues.

5 participants