Skip to content

feat: honor skip_install by not installing Copr artifacts in Testing Farm - #3190

Merged
mfocko merged 2 commits into
packit:mainfrom
pbrezina:skip_install
Sep 23, 2026
Merged

mfocko merged 2 commits into
packit:mainfrom
pbrezina:skip_install

Conversation

@pbrezina

@pbrezina pbrezina commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

When a test job sets 'skip_install', attach all Copr artifacts to the
Testing Farm request with 'install: false'. Testing Farm then makes the
builds available in the test-artifacts repository but does not install
their packages, leaving installation to the tmt plan/tests. This applies
to the main build and additional builds from other PRs, and is
independent of 'skip_build'.

Related to packit/packit#2775

Assisted-by: Claude Opus 4.8 noreply@anthropic.com

TODO:

  • Write new tests or update the old ones to cover new functionality.
  • Update doc-strings where appropriate.
  • Update or write new documentation in packit/packit.dev.

RELEASE NOTES BEGIN

New skip_install option for test jobs to omit automatic installation of
COPR packages on Testing Farm runner.

RELEASE NOTES END

Warning: All tests pass, but I do not know how to perform end-to-end testing, so I have not been able to actually try it.

@pbrezina
pbrezina marked this pull request as ready for review September 21, 2026 14:01
@pbrezina
pbrezina requested a review from a team as a code owner September 21, 2026 14:01
@pbrezina
pbrezina requested review from nforro and removed request for a team September 21, 2026 14:01
@centosinfra-prod-github-app

Copy link
Copy Markdown
Contributor

centosinfra-prod-github-app Bot added a commit to packit/packit that referenced this pull request Sep 21, 2026
feat: add skip_install option for test jobs

Add a 'skip_install' configuration option next to 'skip_build' for
Testing Farm test jobs. When enabled, the Copr build still runs and its
artifacts are attached to the Testing Farm request, but their packages
are not installed automatically (Testing Farm receives 'install: false').
Installing the desired components is left to the tmt plan/tests. This
option is independent of 'skip_build'.
Fixes #2775
Assisted-by: Claude Opus 4.8 noreply@anthropic.com

TODO:

 Write new tests or update the old ones to cover new functionality.
 Update doc-strings where appropriate.
 Update or write new documentation in packit/packit.dev.


packit/packit-service#3190
packit/packit.dev#1174


RELEASE NOTES BEGIN
New skip_install option for test jobs to omit automatic installation of
COPR packages on Testing Farm runner.
RELEASE NOTES END
Warning: All tests pass, but I do not know how to perform end-to-end testing, so I have not been able to actually try it.

Reviewed-by: Nikola Forró
@nforro

nforro commented Sep 21, 2026

Copy link
Copy Markdown
Member

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown
Contributor

@nforro

nforro commented Sep 21, 2026

Copy link
Copy Markdown
Member

/fs-review

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 21, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 5:26 PM UTC · Completed 5:39 PM UTC

Commit: 308d99f · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.95

@fullsend-ai-review fullsend-ai-review Bot added the risk/low PR risk: low label Sep 21, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Sep 21, 2026

Copy link
Copy Markdown

Risk Assessment: low (1/5)

Details

Low-risk feature addition: small 2-file change with 50% test coverage ratio, well-scoped to a single linked feature issue, no protected or security-sensitive paths touched, stable git history with no recent fixes or reverts.

Previous run

Risk Assessment: low (1/5)

Details

Low-risk, well-scoped feature addition behind an explicit opt-in configuration flag. Only 2 files changed with excellent test coverage ratio (0.50). No protected paths, security-sensitive files, CI workflows, or dependencies touched. Known contributor with a clear linked issue.

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 21, 2026

Copy link
Copy Markdown

Looks good to me

Previous run

Review

Findings

Low

  • [type annotation mismatch] packit_service/worker/helpers/testing_farm.py:485 — The _payload method's artifacts parameter type annotation is Optional[list[dict[str, Union[list[str], str]]]] but with this PR, _artifact now returns dict[str, Union[list[str], str, bool]] (includes bool for the new install key). The type annotation on _payload was not updated to match. While Python does not enforce type annotations at runtime, this creates a static analysis inconsistency: a type checker would flag the call where _get_artifacts passes its result as the artifacts argument to _payload.
    Remediation: Update line 485 from artifacts: Optional[list[dict[str, Union[list[str], str]]]] = None to artifacts: Optional[list[dict[str, Union[list[str], str, bool]]]] = None.

Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR

fullsend-ai-review[bot]

This comment was marked as outdated.

fullsend-ai-review[bot]

This comment was marked as outdated.

…Farm

When a test job sets 'skip_install', attach all Copr artifacts to the
Testing Farm request with 'install: false'. Testing Farm then makes the
builds available in the test-artifacts repository but does not install
their packages, leaving installation to the tmt plan/tests. This applies
to the main build and additional builds from other PRs, and is
independent of 'skip_build'.

Related to packit/packit#2775

Assisted-by: Claude Opus 4.8 <noreply@anthropic.com>
@pbrezina

Copy link
Copy Markdown
Contributor Author

Fixed.

@centosinfra-prod-github-app

Copy link
Copy Markdown
Contributor

@mfocko mfocko self-assigned this Sep 21, 2026
Widening the artifact dict's value type to include bool (for the new
`install` key) broke mypy on the existing `for package in
artifact["packages"]` loop, since bool isn't iterable. A TypedDict
gives each key its correct fixed type instead of a shared Union.

```
packit_service/worker/helpers/testing_farm.py:540: error: Item "bool" of "Union[list[str], str, bool]" has no attribute "__iter__" (not iterable)  [union-attr]
```

Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
@centosinfra-prod-github-app

Copy link
Copy Markdown
Contributor

@pbrezina

Copy link
Copy Markdown
Contributor Author

Fixed.

@mfocko

mfocko commented Sep 22, 2026

Copy link
Copy Markdown
Member

Fixed.

@pbrezina Just an FYI, I noticed the pair of the PRs (the feature here and docs) yesterday after the deployment, so it’s safe to use the config option, but the feature itself will probably land next Monday/Tuesday.

I could probably run one more deployment if it is urgent.

@pbrezina

Copy link
Copy Markdown
Contributor Author

@mfocko Hi, if these gets merged soon, I would certainly appreciate a quick deployment, if it is not too much troubles. Otherwise, next week is good. Thank you!

@nforro

nforro commented Sep 23, 2026

Copy link
Copy Markdown
Member

/fs-review

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 23, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 6:36 AM UTC · Completed 6:49 AM UTC

Commit: 4af9c9a · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.28

@fullsend-ai-review
fullsend-ai-review Bot dismissed their stale review September 23, 2026 06:49

Superseded by updated review

@fullsend-ai-review fullsend-ai-review Bot added the ready-for-merge All reviewers approved — ready to merge label Sep 23, 2026

@mfocko mfocko left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@mfocko
mfocko merged commit e4e3d29 into packit:main Sep 23, 2026
19 checks passed
@github-project-automation github-project-automation Bot moved this from New to Done in Packit pull requests Sep 23, 2026
mfocko added a commit to packit/packit.dev that referenced this pull request Sep 23, 2026
Related to packit/packit#2775

Assisted-by: Claude Opus 4.8 <noreply@anthropic.com>

<!-- TODO list -->

TODO:

- [x] Write new tests or update the old ones to cover new functionality.
- [x] Update doc-strings where appropriate.
- [x] Update or write new documentation in `packit/packit.dev`.

<!-- notes for reviewers -->

<!-- Links to other issues or pull requests,
for cross-repository links use: ‹namespace›/‹repository›#‹ID of issue›
       (‹namespace›/‹repository›!‹ID of PR› respectively)
-->

* packit/packit-service#3190
* packit/packit#2776

<!-- release notes footer -->

RELEASE NOTES BEGIN

New `skip_install` option for test jobs to omit automatic installation
of
COPR packages on Testing Farm runner.

RELEASE NOTES END

Warning: All tests pass, but I do not know how to perform end-to-end
testing, so I have not been able to actually try it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-merge All reviewers approved — ready to merge risk/low PR risk: low

Projects

Development

Successfully merging this pull request may close these issues.

4 participants