Skip to content

[pre-commit.ci] pre-commit autoupdate#4045

Open
pre-commit-ci[bot] wants to merge 2 commits intomainfrom
pre-commit-ci-update-config
Open

[pre-commit.ci] pre-commit autoupdate#4045
pre-commit-ci[bot] wants to merge 2 commits intomainfrom
pre-commit-ci-update-config

Conversation

@pre-commit-ci
Copy link
Contributor

@pre-commit-ci pre-commit-ci bot commented Mar 2, 2026

updates:
- [github.com/PyCQA/autoflake: v2.3.1 → v2.3.3](PyCQA/autoflake@v2.3.1...v2.3.3)
- [github.com/astral-sh/ruff-pre-commit: v0.15.1 → v0.15.4](astral-sh/ruff-pre-commit@v0.15.1...v0.15.4)
@pre-commit-ci pre-commit-ci bot force-pushed the pre-commit-ci-update-config branch from 16c5cd8 to 6d5fca7 Compare March 2, 2026 18:00
@openshift-virtualization-qe-bot-5

Report bugs in Issues

Welcome! 🎉

This pull request will be automatically processed with the following features:

Note: You are an auto-verified user. Your PRs will be automatically verified and may be auto-merged when all requirements are met.

🔄 Automatic Actions

  • Reviewer Assignment: Reviewers are automatically assigned based on the OWNERS file in the repository root
  • Size Labeling: PR size labels (XS, S, M, L, XL, XXL) are automatically applied based on changes
  • Issue Creation: A tracking issue is created for this PR and will be closed when the PR is merged or closed
  • Branch Labeling: Branch-specific labels are applied to track the target branch
  • Auto-verification: Auto-verified users have their PRs automatically marked as verified
  • Labels: Enabled categories: branch, can-be-merged, cherry-pick, has-conflicts, hold, needs-rebase, size, verified, wip

📋 Available Commands

PR Status Management

  • /wip - Mark PR as work in progress (adds WIP: prefix to title)
  • /wip cancel - Remove work in progress status
  • /hold - Block PR merging (approvers only)
  • /hold cancel - Unblock PR merging
  • /verified - Mark PR as verified
  • /verified cancel - Remove verification status
  • /reprocess - Trigger complete PR workflow reprocessing (useful if webhook failed or configuration changed)
  • /regenerate-welcome - Regenerate this welcome message

Review & Approval

  • /lgtm - Approve changes (looks good to me)
  • /approve - Approve PR (approvers only)
  • /assign-reviewers - Assign reviewers based on OWNERS file
  • /assign-reviewer @username - Assign specific reviewer
  • /check-can-merge - Check if PR meets merge requirements

Testing & Validation

  • /retest tox - Run Python test suite with tox
  • /retest build-container - Rebuild and test container image
  • /retest verify-bugs-are-open - verify-bugs-are-open
  • /retest all - Run all available tests

Container Operations

  • /build-and-push-container - Build and push container image (tagged with PR number)
    • Supports additional build arguments: /build-and-push-container --build-arg KEY=value

Cherry-pick Operations

  • /cherry-pick <branch> - Schedule cherry-pick to target branch when PR is merged
    • Multiple branches: /cherry-pick branch1 branch2 branch3

Label Management

  • /<label-name> - Add a label to the PR
  • /<label-name> cancel - Remove a label from the PR

✅ Merge Requirements

This PR will be automatically approved when the following conditions are met:

  1. Approval: /approve from at least one approver
  2. LGTM Count: Minimum 2 /lgtm from reviewers
  3. Status Checks: All required status checks must pass
  4. No Blockers: No WIP, hold, conflict labels
  5. Verified: PR must be marked as verified (if verification is enabled)

📊 Review Process

Approvers and Reviewers

Approvers:

  • dshchedr
  • myakove
  • rnetser
  • vsibirsk

Reviewers:

  • RoniKishner
  • dshchedr
  • rnetser
  • vsibirsk
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve

💡 Tips

  • WIP Status: Use /wip when your PR is not ready for review
  • Verification: The verified label is automatically removed on each new commit
  • Cherry-picking: Cherry-pick labels are processed when the PR is merged
  • Container Builds: Container images are automatically tagged with the PR number
  • Permission Levels: Some commands require approver permissions
  • Auto-verified Users: Certain users have automatic verification and merge privileges

For more information, please refer to the project documentation or contact the maintainers.

@openshift-virtualization-qe-bot-3
Copy link
Contributor

/retest all

Auto-triggered: Files in this PR were modified by merged PR #4003.

Overlapping files

tests/conftest.py

@rnetser
Copy link
Collaborator

rnetser commented Mar 2, 2026

/approve
/lgtm

Choose a reason for hiding this comment

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

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • tests/install_upgrade_operators/crypto_policy/test_hco_override_api_server_crypto_policy.py::test_hco_overriding_apiserver_crypto_policy — Line 72 changed from sample[resource] to crypto_policy - this is a semantic bug fix in the dict comprehension that checks for conflicting resources. The variable crypto_policy is the value from sample.items() iteration, so this fixes a redundant/incorrect dict lookup. This test directly exercises the changed logic path. (High confidence)

Standard (regression safety)

  • tests/storage/test_cdi_resources.py::test_verify_cdi_res_app_label — The verify_cdi_app_label function had its conditional logic restructured from separate if/elif/elif branches to a combined if (A or B or C): continue pattern. While logically equivalent, the operator precedence of and/or without explicit parentheses needs verification - the original used separate elif clauses which had clearer short-circuit semantics. (Medium confidence)

Summary

  • 2 test files recommended (1 critical, 1 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

@SamAlber
Copy link
Contributor

SamAlber commented Mar 3, 2026

/lgtm

@rnetser
Copy link
Collaborator

rnetser commented Mar 3, 2026

@coderabbitai

review all changes in the pr and check for breaking changes
propsoe list of tests to verify it

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

@rnetser, I'll review the PR changes and check for breaking changes in the tool updates.


🏁 Script executed:

#!/bin/bash
# Get the PR details and diff
gh pr view 4045 --json files,additions,deletions --repo RedHatQE/openshift-virtualization-tests

# Get the actual diff
gh pr diff 4045 --repo RedHatQE/openshift-virtualization-tests

Unrecoverable error: Failed to clone repository


🌐 Web query:

autoflake v2.3.1 to v2.3.3 changelog breaking changes

💡 Result:

autoflake v2.3.1 → v2.3.3: changelog summary + breaking changes

Breaking change (in v2.3.2):

  • Dropped support for Python 3.8 (effectively making Python ≥3.9 required). [1][2]

Other notable changes:

  • v2.3.2
    • pre-commit config updated to --py39-plus (consistent with dropping 3.8). [1]
    • CI updates (including adding Python 3.13 to the test matrix). [1]
    • Bugfixes for edge-case crashes (TypeError/IndexError) in specific parsing/helpers. [1]
  • v2.3.3
    • Packaging fix in pyproject: remove README/tests from installed distribution artifacts and correctly specify the LICENSE file (fixes what gets included in the package). [1][3]

Bottom line: the only clear user-facing “breaking” change from 2.3.1 → 2.3.3 is Python 3.8 no longer supported (starting v2.3.2). [1][2]

Sources: [1] [2] [3]


🌐 Web query:

ruff v0.15.1 to v0.15.4 changelog breaking changes

💡 Result:

Breaking changes from Ruff v0.15.1 → v0.15.4

  • No new breaking changes were introduced in 0.15.1–0.15.4; Ruff’s breaking-changes document lists breaking changes for 0.15.0, not for these patch releases. [1]

Potentially “breaking” behavior if you use preview = true

  • v0.15.2 (released 2026-02-19): Preview mode now enables a much larger default rule set (412 rules vs 59 stable defaults), which can cause many new diagnostics in CI unless you pin lint.select. [2]
  • v0.15.3 (released 2026-02-26):
    • Preview: Dropped explicit support for the .qmd extension; you must map it via extension = { qmd = "markdown" } to keep prior behavior. [3]
    • Preview: Configured extensions are included in file discovery, which can change what files Ruff lints/formats. [3]

v0.15.4 (released 2026-02-26)

  • Bugfix-only follow-up: fixes a panic involving PLR1712 with definition-analyzing rules; no intentional behavior break noted. [4]

Sources: [1] (github.com) [2] (github.com) [3] (github.com) [4] (github.com)

Citations:



---

🏁 Script executed:

#!/bin/bash

Check Python version requirements and ruff configuration

gh api repos/RedHatQE/openshift-virtualization-tests/contents/pyproject.toml --jq '.content' | base64 -d | head -50

Check ruff configuration

gh api repos/RedHatQE/openshift-virtualization-tests/contents/pyproject.toml --jq '.content' | base64 -d | grep -A 20 "[tool.ruff]"

Check .pre-commit-config.yaml to see current versions

gh api repos/RedHatQE/openshift-virtualization-tests/contents/.pre-commit-config.yaml --jq '.content' | base64 -d


Length of output: 3650

---



</details>

`@rnetser`, I've analyzed the PR changes. Here's my assessment:

## 🔍 Breaking Changes Analysis

### **SEVERITY: LOW** - No critical breaking changes for this repository

#### autoflake v2.3.1 → v2.3.3
- **Breaking Change**: Dropped Python 3.8 support (requires ≥3.9)
- **Impact**: ✅ **None** - Your project requires `python >= 3.14`, so this is not a concern

#### ruff v0.15.1 → v0.15.4
- **Key Finding**: Your project has `preview = true` enabled in `pyproject.toml`
- **Potential Impacts**:
  - **v0.15.2**: Preview mode now enables **412 rules** (vs 59 stable defaults) - may flag new linting issues
  - **v0.15.3**: Changed `.qmd` extension handling and file discovery behavior
  - **v0.15.4**: Bugfix release (fixes panic in `PLR1712` rule)
- **Impact**: ⚠️ **MEDIUM** - Preview mode changes could introduce new linting violations

## ✅ Recommended Verification Tests

Based on the learning that verification checks must pass before committing:

### **CRITICAL (Must Pass)**
```bash
# 1. Run all pre-commit hooks to catch any new linting issues
pre-commit run --all-files

# 2. Run full CI checks
tox

# 3. Run utilities unit tests specifically
tox -e utilities-unittests

Additional Checks

# 4. Verify ruff specifically on all Python files
ruff check . --preview

# 5. Verify ruff formatting
ruff format --check .

# 6. Check for any new autoflake changes
autoflake --check --recursive .

📊 Risk Assessment

Tool Change Risk Level Reason
autoflake v2.3.1 → v2.3.3 LOW Python version requirement already satisfied
ruff v0.15.1 → v0.15.4 ⚠️ MEDIUM Preview mode with expanded rules may flag new issues

💡 Expected Outcome

Since these are linting/formatting tool updates:

  • No runtime behavior changes to test execution
  • No API/functional changes to test logic
  • Only code style/formatting may be affected
  • If pre-commit run --all-files passes cleanly, the update is safe to merge

The main verification is ensuring the pre-commit hooks pass successfully, which will validate that the updated tools don't introduce new linting violations in your codebase.


🧠 Learnings used
Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 3228
File: .coderabbit.yaml:30-41
Timestamp: 2026-01-05T10:33:55.037Z
Learning: In the openshift-virtualization-tests repository, user rnetser prefers minimal pre-merge checks in CodeRabbit configuration: only docstrings enforcement (80% threshold) is needed, not title or description checks.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 2469
File: utilities/sanity.py:139-142
Timestamp: 2025-11-08T07:36:57.616Z
Learning: In the openshift-virtualization-tests repository, user rnetser prefers to keep refactoring PRs (like PR `#2469`) strictly focused on moving/organizing code into more granular modules without adding new functionality, error handling, or behavioral changes. Such improvements should be handled in separate PRs.

Learnt from: jpeimer
Repo: RedHatQE/openshift-virtualization-tests PR: 0
File: :0-0
Timestamp: 2025-12-22T15:56:00.157Z
Learning: In the openshift-virtualization-tests repository, when responding to test execution plan requests from openshift-virtualization-qe-bot-3, do NOT use "REQUEST_CHANGES" review type if the PR author has already marked the PR as verified (e.g., with `/verified` command). Test execution plans are informational guides, not blocking requirements. Use COMMENT event for informational test plans, or only REQUEST_CHANGES if there are actual code issues that need to be addressed before merging.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 0
File: :0-0
Timestamp: 2025-12-16T14:00:59.076Z
Learning: In the openshift-virtualization-tests repository, when responding to test execution plan requests from openshift-virtualization-qe-bot-3, CodeRabbit must post ONLY an inline review comment on the Files Changed tab and then stop immediately without generating any follow-up comments in the PR discussion thread. No acknowledgment messages, no confirmation of posting, no explanation - silence after posting the inline review equals success. Additional comments create empty/meaningless reviews that clutter the PR.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 3062
File: conftest.py:333-333
Timestamp: 2025-12-16T20:11:03.645Z
Learning: In the openshift-virtualization-tests repository, when determining smoke test impact for changes affecting py_config["os_login_param"], follow this verification methodology: (1) Find all smoke tests: `rg "pytest.mark.smoke" --type=py -B2 | grep "def test_"`, (2) For each smoke test file, search for VM creation patterns: `rg "VirtualMachineForTests|running_vm|VirtualMachineForTestsFromTemplate|wait_for_ssh|check_ssh_connectivity"`, (3) Trace the dependency chain: smoke test → VirtualMachineForTests/running_vm() → wait_for_ssh_connectivity() (default enabled) → vm.login_params property → py_config["os_login_param"][vm.os_flavor], (4) Check utilities/virt.py for login_params usage: `rg "os_login_param|login_params" utilities/virt.py -C3`. Any smoke test creating VMs with default SSH connectivity checks (running_vm with check_ssh_connectivity=True) depends on os_login_param, even if the test doesn't directly reference it.

Learnt from: vsibirsk
Repo: RedHatQE/openshift-virtualization-tests PR: 2045
File: tests/virt/cluster/vm_lifecycle/conftest.py:46-47
Timestamp: 2025-09-15T06:49:53.478Z
Learning: In the openshift-virtualization-tests repo, large fixture refactoring efforts like the golden image data source migration are handled incrementally by directory/team ownership. The virt/cluster directory is handled separately from virt/node, tests/infra, tests/storage, etc., with each area managed by relevant teams in follow-up PRs.

Learnt from: jpeimer
Repo: RedHatQE/openshift-virtualization-tests PR: 3571
File: tests/storage/storage_migration/utils.py:158-167
Timestamp: 2026-01-25T13:18:26.819Z
Learning: In the openshift-virtualization-tests repository, user jpeimer prefers to avoid nitpicky style changes (e.g., removing `.keys()` from dict membership checks) because verifying every change is expensive. Be cautious about suggesting low-impact stylistic improvements that require verification overhead.

Learnt from: vamsikrishna-siddu
Repo: RedHatQE/openshift-virtualization-tests PR: 2199
File: tests/storage/test_online_resize.py:108-113
Timestamp: 2025-09-28T14:43:07.181Z
Learning: In the openshift-virtualization-tests repo, PR `#2199` depends on PR `#2139` which adds architecture-specific OS_FLAVOR attributes to the Images.Cirros class (OS_FLAVOR_CIRROS for x86_64/ARM64, OS_FLAVOR_FEDORA for s390x), enabling conditional logic based on the underlying OS flavor in tests.

Learnt from: servolkov
Repo: RedHatQE/openshift-virtualization-tests PR: 2838
File: .github/workflows/net-utils-builder-staging.yml:37-37
Timestamp: 2025-11-25T01:56:54.902Z
Learning: In the openshift-virtualization-tests repository, when renaming container images that are built and used by GitHub Actions workflows, the changes must be done sequentially: first merge the workflow files (.github/workflows/) that update the image name in the CI/CD pipelines, then update the code references (like constants.py and manifest files) in a follow-up PR. This prevents the old workflow from running with mismatched image names during the transition.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 1028
File: utilities/infra.py:1249-1254
Timestamp: 2025-08-06T13:57:51.928Z
Learning: User rnetser verified that all calls to get_infrastructure() function use the admin_client parameter, confirming that signature changes requiring this parameter don't cause breaking changes in the openshift-virtualization-tests codebase.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests PR: 1244
File: utilities/os_utils.py:248-250
Timestamp: 2025-07-08T05:51:06.314Z
Learning: User rnetser prefers fail-fast code design where functions should raise exceptions immediately when encountering unexpected or malformed input, rather than implementing defensive error handling with fallbacks. They value making problems visible immediately during development over graceful degradation.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-02-16T14:38:05.699Z
Learning: Before committing, verification checks MUST pass: `pre-commit run --all-files` for linting and formatting, `tox` for full CI checks, `tox -e utilities-unittests` for utilities unit tests. No exceptions - fix all failures before committing, do not use `--no-verify` to bypass hooks

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants