Skip to content

Conversation

@tmikula-dev
Copy link
Collaborator

@tmikula-dev tmikula-dev commented Dec 5, 2025

Overview

This pull request makes improvements to GitHub workflow automation and issue templates.

Release Notes

  • Fixes the several minor issues found during the development - draft release fix, template typo, updating the requirements..

Related

Closes #220

Summary by CodeRabbit

  • Chores

    • Updated testing and linting dependencies to newer versions.
    • Adjusted release workflow to pass tag name via an environment variable and propagate input between steps.
  • Documentation

    • Renamed two public form field identifiers in the issue template: current_state -> current-state and proposed_changes -> proposed-changes.
    • Removed the suggestion-mode option from linting config.

✏️ Tip: You can customize this high-level summary in your review settings.

@tmikula-dev tmikula-dev self-assigned this Dec 5, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 5, 2025

Walkthrough

This PR renames two form field identifiers in the issue template, adjusts tag propagation and retrieval in the release draft workflow to use an environment variable, and updates several testing/linting dependency versions.

Changes

Cohort / File(s) Summary
Issue template field renames
.github/ISSUE_TEMPLATE/documentation_task.yml
Renamed public form fields: current_statecurrent-state, proposed_changesproposed-changes. No other structural or validation changes.
Workflow input / env refactor
.github/workflows/release_draft.yml
Propagated from-tag-name into generate-release-notes step inputs; added TAG_NAME env var for Create and Push Tag step and switched tag retrieval from core.getInput('tag-name') to process.env.TAG_NAME; removed direct tag-name input.
Dependency upgrades
requirements.txt, .pylintrc
Bumped pytest (8.4.2 → 9.0.1), pytest-cov (6.3.0 → 7.0.0), pytest-mock (3.15.0 → 3.15.1), pylint (3.3.8 → 4.0.4). Also removed suggestion-mode option from .pylintrc.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify any automation or scripts referencing the old issue template field names are updated.
  • Confirm the TAG_NAME env is set and accessible in all runner contexts where used.
  • Check compatibility and changelogs for upgraded pytest/pylint versions for potential breaking changes.

Poem

🐰 I nibbled keys and hopped through lines,

I renamed fields and set some signs,
TAG_NAME now hums in workflow's night,
Tests grow sharper, linting bright,
A tiny hop — the repo feels light. 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'CodeRabbit bug fixes' is vague and generic, lacking specificity about which bugs or which components are addressed. Provide a more specific title that describes the main bug fixes, such as 'Fix GitHub workflow and template issues' or 'Correct draft release workflow and update dependencies'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description follows the template structure with Overview, Release Notes, and Related sections, though Release Notes lacks specific details about the individual fixes.
Linked Issues check ✅ Passed The PR addresses the linked issue #220 objectives: fixes minor bugs from CodeRabbit reviews, including workflow automation fixes and template corrections visible in the changeset.
Out of Scope Changes check ✅ Passed All changes are within scope: template field renaming and workflow fix align with #220 objectives, while dependency updates relate to development improvements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/220-fix-of-github-file-approach

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7c8fc12 and effe37d.

📒 Files selected for processing (1)
  • .pylintrc (0 hunks)
💤 Files with no reviewable changes (1)
  • .pylintrc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@tmikula-dev tmikula-dev added the bug Something isn't working label Dec 5, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 87ef653 and 7c8fc12.

📒 Files selected for processing (3)
  • .github/ISSUE_TEMPLATE/documentation_task.yml (2 hunks)
  • .github/workflows/release_draft.yml (2 hunks)
  • requirements.txt (1 hunks)
🔇 Additional comments (3)
.github/workflows/release_draft.yml (2)

68-68: Correctly propagate from-tag-name input.

The from-tag-name input is now properly passed through to the generate-release-notes action, enabling the optional "from tag" capability for release notes generation.


93-97: Refactor to use environment variable for tag retrieval.

The refactoring from implicit core.getInput() to explicit process.env.TAG_NAME is a cleaner approach for github-script actions and avoids the implicit dependency on @actions/core. Environment variables are the standard pattern for passing data to inline scripts in GitHub Actions.

.github/ISSUE_TEMPLATE/documentation_task.yml (1)

20-20: Code already complies with GitHub template conventions.

The field identifiers are already properly formatted in kebab-case (current-state, proposed-changes). No downstream references to old identifiers exist in the codebase, so no updates to workflows or scripts are required.

Comment on lines +1 to +4
pytest==9.0.1
pytest-cov==7.0.0
pytest-mock==3.15.1
pylint==4.0.4
Copy link

@coderabbitai coderabbitai bot Dec 5, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

pytest-cov 7.0.0 breaking changes migration guide

💡 Result:

Summary — key breaking change in pytest-cov 7.0.0 and how to migrate

  • What changed: pytest-cov 7.0.0 removed built-in subprocess measurement (the old .pth-based behavior). It now requires you to use coverage.py’s subprocess patching instead, and pytest-cov 7.0.0 requires coverage >= 7.10.6. [1]

  • Migration steps (quick):

    1. Ensure coverage is at least 7.10.6 (pip install -U coverage>=7.10.6). [1]
    2. Enable coverage’s subprocess patch in your coverage config:
      • .coveragerc:
        [run]
        patch = subprocess
      • or pyproject.toml:
        [tool.coverage.run]
        patch = ["subprocess"]
        Note: enabling the subprocess patch also sets parallel = true automatically. If coverage still differs from previous results you may need to enable additional patches per coverage’s docs. [2]
    3. Remove any reliance in your project on pytest-cov’s old .pth behavior (no opt-out existed), and prefer configuring subprocess behavior via coverage.py. [1][2]
  • Other notes: packaging metadata moved to pyproject.toml/hatchling and some test deps were removed — these are not functionally breaking for usage. [1]

Sources: pytest-cov changelog and subprocess support docs. [1][2]


🌐 Web query:

pylint 4.0.4 breaking changes release notes

💡 Result:

Pylint 4.0.4 release notes list bugfixes (false positives) but no new breaking changes; see the 4.0.4 entry (Nov 30, 2025). The notable breaking changes were introduced in 4.0.0 (Oct 12, 2025), chiefly:

  • invalid-name behavior changed for module-level constants vs reassigned variables (now uses --variable-rgx when reassigned).
  • Pylint requires astroid >= 4.0.0 and adds Python 3.14 support.
    Sources: Pylint what's new (4.0.4 and 4.0.0). [1][2]

References
[1] Pylint — What's new (4.0.4 / 4.0).
[2] pylint-dev/pylint — Releases (breaking changes summary).


🏁 Script executed:

# Check if there are any pylint or pytest configuration files in the codebase
find . -type f \( -name ".pylintrc" -o -name "pyproject.toml" -o -name "pytest.ini" -o -name "setup.cfg" -o -name ".pylintignore" \) 2>/dev/null | head -20

Repository: AbsaOSS/generate-release-notes

Length of output: 102


🏁 Script executed:

cat -n ./.pylintrc

Repository: AbsaOSS/generate-release-notes

Length of output: 26357


🏁 Script executed:

cat -n ./pyproject.toml

Repository: AbsaOSS/generate-release-notes

Length of output: 332


🏁 Script executed:

# Check if coverage is listed in requirements or has version constraints
grep -r "coverage" . --include="*.txt" --include="*.toml" --include="*.cfg" 2>/dev/null

Repository: AbsaOSS/generate-release-notes

Length of output: 207


🏁 Script executed:

cat requirements.txt

Repository: AbsaOSS/generate-release-notes

Length of output: 313


🏁 Script executed:

# Search for module-level reassignments that might trigger pylint's invalid-name change
rg "^[a-zA-Z_][a-zA-Z0-9_]*\s*=" --type py -A 1 | head -50

Repository: AbsaOSS/generate-release-notes

Length of output: 4466


Configure pytest-cov 7.0.0 subprocess patching and add coverage version constraint.

The pytest-cov 7.0.0 upgrade requires two critical changes:

  1. Missing subprocess patch configuration: pytest-cov 7.0.0 removed built-in subprocess measurement and now requires coverage.py's subprocess patching. Add to pyproject.toml under [tool.coverage.run]:

    patch = ["subprocess"]
  2. Missing coverage version constraint: Add coverage>=7.10.6 to requirements.txt to ensure compatibility with pytest-cov 7.0.0.

For pylint 4.0.4, the .pylintrc configuration is compatible. The 4.0.0 breaking change for invalid-name primarily affects reassigned module-level variables, and the codebase's constants follow the configured UPPER_CASE naming style.

🤖 Prompt for AI Agents
In requirements.txt around lines 1 to 4, pytest-cov 7.0.0 requires coverage
subprocess patching and a minimum coverage version; update requirements.txt to
add a coverage dependency (coverage>=7.10.6) alongside existing test deps, and
add the subprocess patch config to pyproject.toml under [tool.coverage.run] by
adding patch = ["subprocess"]; ensure the coverage version is compatible with
pytest-cov 7.0.0 and keep pylint unchanged.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Tests are running locally and in the CI pipeline. Not implementing this issue.

Copy link

Choose a reason for hiding this comment

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

@tmikula-dev, understood! If your tests are running successfully both locally and in CI, then the subprocess patching configuration isn't needed for your use case. The pytest-cov 7.0.0 migration is only critical for projects that specifically measure coverage in subprocesses.


✏️ Learnings added
Learnt from: tmikula-dev
Repo: AbsaOSS/generate-release-notes PR: 221
File: requirements.txt:1-4
Timestamp: 2025-12-05T10:54:26.761Z
Learning: In the generate-release-notes project, pytest-cov 7.0.0 works without the subprocess patch configuration, and tests run successfully without adding coverage>=7.10.6 or configuring [tool.coverage.run] patch = ["subprocess"].

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@tmikula-dev tmikula-dev merged commit be3499b into master Dec 5, 2025
8 checks passed
@tmikula-dev tmikula-dev deleted the feature/220-fix-of-github-file-approach branch December 5, 2025 11:55
miroslavpojer pushed a commit that referenced this pull request Dec 29, 2025
* CodeRabbit bug fixes.
miroslavpojer added a commit that referenced this pull request Dec 29, 2025
* Add renovate.json

* .github file upgrade (#211)

* .github file upgrade

* Update GitHub Actions workflows to use specific versions of actions and add Dependabot configuration (#214)

* chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 (#215)

Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@1af3b93...8e8c483)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pyyaml from 6.0.2 to 6.0.3 (#217)

Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES)
- [Commits](yaml/pyyaml@6.0.2...6.0.3)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump types-pyyaml from 6.0.12.20250822 to 6.0.12.20250915 (#218)

Bumps [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) from 6.0.12.20250822 to 6.0.12.20250915.
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20250915
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump mypy from 1.17.1 to 1.19.0 (#216)

Bumps [mypy](https://github.com/python/mypy) from 1.17.1 to 1.19.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.17.1...v1.19.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump black from 25.1.0 to 25.11.0 (#219)

Bumps [black](https://github.com/psf/black) from 25.1.0 to 25.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@25.1.0...25.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CodeRabbit bug fixes (#221)

* CodeRabbit bug fixes.

* chore(deps): bump types-requests from 2.32.4.20250809 to 2.32.4.20250913 (#222)

Bumps [types-requests](https://github.com/typeshed-internal/stub_uploader) from 2.32.4.20250809 to 2.32.4.20250913.
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-version: 2.32.4.20250913
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pytest from 9.0.1 to 9.0.2 (#223)

Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.1 to 9.0.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.1...9.0.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump black from 25.11.0 to 25.12.0 (#224)

Bumps [black](https://github.com/psf/black) from 25.11.0 to 25.12.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@25.11.0...25.12.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump mypy from 1.19.0 to 1.19.1 (#225)

Bumps [mypy](https://github.com/python/mypy) from 1.19.0 to 1.19.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: configure renovate for dependency management

* Remove obsolete templates and tasks from the .specify directory; add Renovate configuration for dependency management

* chore: enable Dependabot auto-approve and auto-merge functionality

* chore: reactivate Dependabot configuration for GitHub Actions and pip

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tobias Mikula <[email protected]>
Co-authored-by: miroslavpojer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@coderabbitai coderabbitai bot mentioned this pull request Dec 29, 2025
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fixes of the new github file approach

3 participants