Skip to content

Fix/bumpversion#49

Merged
HEROgold merged 5 commits intomasterfrom
fix/bumpversion
Feb 15, 2026
Merged

Fix/bumpversion#49
HEROgold merged 5 commits intomasterfrom
fix/bumpversion

Conversation

@HEROgold
Copy link
Owner

No description provided.

@HEROgold
Copy link
Owner Author

@copilot cherrypick the latest commit, for this PR. This PR should not contain other commits compared to the main branch. Only 7a5cd99

Copy link
Contributor

Copilot AI commented Feb 15, 2026

@HEROgold I've opened a new pull request, #50, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits February 15, 2026 12:34
* Initial plan

* Revert test.yml changes to keep only bumpversion.toml change

Co-authored-by: HEROgold <21345384+HEROgold@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HEROgold <21345384+HEROgold@users.noreply.github.com>
@HEROgold HEROgold added the Patch label Feb 15, 2026
@HEROgold HEROgold marked this pull request as ready for review February 15, 2026 11:37
Copilot AI review requested due to automatic review settings February 15, 2026 11:37
@HEROgold HEROgold merged commit 9b446ce into master Feb 15, 2026
15 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR attempts to fix the .bumpversion.toml configuration syntax and restructure the test workflow to use caching, but introduces critical issues in the workflow logic.

Changes:

  • Fixed .bumpversion.toml syntax from [tool.bumpversion.files] to [[tool.bumpversion.files]] (array of tables)
  • Split the test workflow into two jobs: check-cache and test, attempting to skip tests when cache is hit
  • Added Python 3.14 to the test matrix

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
.bumpversion.toml Correctly fixes TOML syntax from single table to array of tables notation
.github/workflows/test.yml Restructures workflow with cache-checking job, but introduces broken logic and includes unreleased Python version

test:
runs-on: ubuntu-latest
needs: check-cache
if: needs.check-cache.outputs.cache-hit != 'true'
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

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

The condition needs.check-cache.outputs.cache-hit != 'true' will never work as expected because the check-cache job doesn't define any outputs. The cache step's output (steps.cache-pytest.outputs.cache-hit) is local to that job and cannot be accessed by other jobs via needs.check-cache.outputs.

To fix this, the check-cache job needs to explicitly define outputs that map to the step outputs. You should add an outputs: section to the check-cache job like:

check-cache:
  runs-on: ubuntu-latest
  outputs:
    cache-hit: ${{ steps.cache-pytest.outputs.cache-hit }}

However, there's a deeper architectural issue: GitHub Actions doesn't support matrix-based outputs in the way this workflow attempts to use them. When a job has a matrix strategy, you cannot reliably reference outputs from all matrix runs in a dependent job. Each matrix run creates a separate job instance, and only the outputs from one arbitrary instance would be available.

A better approach would be to keep the cache step within the test job itself, or remove the cache-checking logic entirely since the cache action already handles cache hits efficiently.

Copilot uses AI. Check for mistakes.
Comment on lines +36 to 50
test:
runs-on: ubuntu-latest
needs: check-cache
if: needs.check-cache.outputs.cache-hit != 'true'
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
fail-fast: false

steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

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

The workflow splits the original test job into two separate jobs (check-cache and test), but this creates several issues:

  1. The check-cache job runs a matrix strategy but doesn't do anything with the cache results
  2. The approach of trying to skip the entire test job based on cache hits is problematic because:
    • GitHub Actions cache is meant to speed up jobs, not skip them entirely
    • The .pytest_cache directory contains test metadata, not test results
    • Even with a cache hit, tests should still run to validate the current code

This architectural change appears to misunderstand the purpose of pytest caching. The .pytest_cache directory stores test collection and execution metadata to make subsequent test runs faster, but it doesn't mean tests can be safely skipped. Consider reverting to the original single-job structure where caching naturally speeds up test execution without skipping validation.

Copilot uses AI. Check for mistakes.

jobs:
test:
check-cache:
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

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

The job name was changed from test to check-cache, but this may break dependent workflows. The coverage.yml workflow explicitly depends on a workflow named "Test" (line 5 of coverage.yml: workflows: ["Test"]).

While the workflow name remains "Test", downstream systems or other workflows might reference the job name test specifically. Additionally, the actual testing is now done in a job called test that may not run due to the problematic cache-hit condition, which could cause the coverage workflow to succeed even when tests haven't actually been executed.

Copilot uses AI. Check for mistakes.
@HEROgold HEROgold deleted the fix/bumpversion branch March 2, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants