Skip to content

.github file upgrade#57

Merged
tmikula-dev merged 4 commits intomasterfrom
feature/56-github-file-upgrade
Dec 5, 2025
Merged

.github file upgrade#57
tmikula-dev merged 4 commits intomasterfrom
feature/56-github-file-upgrade

Conversation

@tmikula-dev
Copy link
Contributor

@tmikula-dev tmikula-dev commented Nov 19, 2025

Overview

.github file upgrade to unite it across the QA projects.

Release Notes

  • .github file update: CODEOWNERS, ISSUE TEMPLATES, PR template, RLS Notes workflows

Related

Closes #56

Summary by CodeRabbit

  • Chores
    • Added structured issue templates to standardize bug reports, feature requests, and various task submissions.
    • Implemented a new pull request template to streamline the contribution process.
    • Enhanced workflow automation for improved pull request validation and release management.

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

@tmikula-dev tmikula-dev self-assigned this Nov 19, 2025
@tmikula-dev tmikula-dev added the enhancement New feature or request label Nov 19, 2025
@tmikula-dev tmikula-dev added the work in progress Work on this item is not yet finished (mainly intended for PRs) label Nov 19, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 19, 2025

Walkthrough

The PR upgrades the repository's .github configuration by updating CODEOWNERS, replacing legacy Markdown issue templates with standardized YAML-based templates, adding a pull request template, and refactoring release automation workflows with enhanced tag validation and release notes generation.

Changes

Cohort / File(s) Summary
CODEOWNERS
.github/CODEOWNERS
Added tmikula-dev as code owner; reordered owner list while retaining all existing owners.
Legacy Issue Templates Removed
.github/ISSUE_TEMPLATE/bug_report.md, feature_request.md, question.md
Deleted three Markdown-formatted issue templates as part of migration to structured YAML templates.
New YAML Issue Templates
.github/ISSUE_TEMPLATE/bug_report.yml, feature_request.yml, devops_task.yml, documentation_task.yml, epic_task.yml, operative_task.yml, pointer.yml, spike_task.yml, technical_debt.yml
Added nine new standardized YAML-based issue templates with structured fields, required validations, and predefined categories/dropdowns for bug reports, feature requests, and task types (DevOps, documentation, epic, operative, spike, technical debt, pointer).
Pull Request Template
.github/pull_request_template.md
Added new standardized pull request template with sections for Overview, Release Notes, and Related issues.
Release Notes Validation Workflow
.github/workflows/check_pr_release_notes.yml
Renamed workflow from "Check PR Release Notes Presence Check" to "Check PR Release Notes"; updated setup-python from v5.1.1 to v6 and Python version to 3.13; added global environment variables (SKIP_LABEL, RLS_NOTES_TAG_REGEX); enhanced PR notes validation step with title regex pattern and skip-placeholders configuration.
Draft Release Workflow
.github/workflows/release_draft.yml
Renamed workflow from "Release - create draft release" to "Draft Release"; refactored workflow inputs (tagName → tag-name, added from-tag-name); updated checkout and setup-python actions with newer versions; integrated new tag validation (AbsaOSS/version-tag-check) and release notes generation (AbsaOSS/generate-release-notes) steps; replaced legacy tag creation logic with GitHub Script–based approach; updated draft release action to softprops/action-gh-release with expanded release notes formatting configuration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Attention areas:
    • .github/workflows/release_draft.yml — significant workflow restructuring; verify new tag validation and release notes generation steps integrate correctly with existing CI/CD pipeline and action versions
    • .github/ISSUE_TEMPLATE/*.yml — review consistency and correctness of field validations and placeholder text across nine new templates
    • .github/workflows/check_pr_release_notes.yml — confirm environment variable usage and regex pattern for Release Notes matching align with PR template expectations

Possibly related issues

  • Issue #56 (.github File Upgrade) — This PR directly implements all requested .github configuration upgrades: CODEOWNERS update, standardized YAML issue templates, pull request template, and refactored release notes workflows.

Poem

🐰 Templates organized, workflows refined,
A neat .github folder, so well designed!
From chaos to order, with YAML's embrace,
Our pipelines now run at a faster pace! ✨

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title '.github file upgrade' accurately reflects the main change: comprehensive upgrades to .github configuration files including CODEOWNERS, issue templates, PR template, and workflows.
Linked Issues check ✅ Passed All linked issue requirements are met: CODEOWNERS updated [#56], multiple ISSUE_TEMPLATES added [#56], pull_request_template created [#56], and release notes workflows updated [#56].
Out of Scope Changes check ✅ Passed All changes are in-scope: modifications target only .github configuration files as required by the linked issue, with no functional code or unrelated alterations introduced.
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/56-github-file-upgrade

📜 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 eecd293 and e43289d.

📒 Files selected for processing (14)
  • .github/CODEOWNERS (1 hunks)
  • .github/ISSUE_TEMPLATE/bug_report.md (0 hunks)
  • .github/ISSUE_TEMPLATE/bug_report.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/devops_task.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/documentation_task.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/epic_task.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/feature_request.md (0 hunks)
  • .github/ISSUE_TEMPLATE/feature_request.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/operative_task.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/pointer.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/spike_task.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/technical_debt.yml (1 hunks)
  • .github/workflows/check_pr_release_notes.yml (2 hunks)
  • .github/workflows/release_draft.yml (1 hunks)
💤 Files with no reviewable changes (2)
  • .github/ISSUE_TEMPLATE/feature_request.md
  • .github/ISSUE_TEMPLATE/bug_report.md
✅ Files skipped from review due to trivial changes (2)
  • .github/ISSUE_TEMPLATE/documentation_task.yml
  • .github/ISSUE_TEMPLATE/pointer.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/check_pr_release_notes.yml
  • .github/CODEOWNERS
🔇 Additional comments (11)
.github/ISSUE_TEMPLATE/epic_task.yml (1)

1-47: Template structure is well-organized and follows GitHub conventions.

The Epic template provides clear guidance with appropriate required fields (Background, Goals) and optional fields (Subtasks, References). Placeholders are concrete and helpful.

.github/ISSUE_TEMPLATE/devops_task.yml (1)

1-17: Simple and focused template appropriate for DevOps/infrastructure tasks.

The single required field (task-description) with clear labeling and placeholder keeps submissions focused and easy to complete.

.github/ISSUE_TEMPLATE/feature_request.yml (1)

1-65: Well-structured feature request template with clear information hierarchy.

Required fields capture essential details (description, problem, acceptance criteria), while optional fields provide flexibility. Placeholders include practical examples (e.g., acceptance criteria with numbered format, dependency linking).

.github/ISSUE_TEMPLATE/spike_task.yml (1)

1-60: Research spike template clearly guides scope and deliverables.

The combination of required fields (Background, Questions To Answer, Desired Outcome) and optional checkbox tasks aligns well with typical spike workflows. Checkboxes provide useful workflow reminders without forcing unnecessary fields.

.github/ISSUE_TEMPLATE/operative_task.yml (1)

1-55: Flexible operational task template with appropriate field types and required/optional balance.

The combination of a required one-line summary and detailed description with optional objectives and deadline provides good balance for diverse operational tasks. Deadline field placeholder helpfully shows acceptable formats.

.github/ISSUE_TEMPLATE/technical_debt.yml (1)

1-96: Comprehensive technical debt template with well-chosen category and priority options.

Required fields capture essential information (description, impact, category, priority), while optional fields support detailed planning (solution, effort estimate, dependencies). The nine category options (Code Quality, Architecture, Dependencies, Documentation, Testing, Performance, Security, DevOps, Other) and three-level priority scale are well-suited for debt tracking and prioritization.

.github/ISSUE_TEMPLATE/bug_report.yml (1)

1-82: Well-structured bug report template with clear reproduction and severity fields.

Required fields (description, reproduction steps, expected state, severity) capture essential bug triage information. Optional fields provide flexibility for environment details and evidence. Minor note: the "Desktop" label for OS/browser/version (line 66) may be slightly ambiguous for non-UI bugs, though the placeholder text clarifies the intent.

.github/workflows/release_draft.yml (4)

91-109: github-script action now correctly uses environment variables instead of invalid custom inputs.

The Create and Push Tag step (lines 91-109) correctly uses process.env.TAG_NAME (line 97) passed via the env block, eliminating the previous critical issue where core.getInput('tag-name') was attempted on an action that doesn't accept custom inputs. The script correctly creates a git ref using the GitHub API.


32-40: Excellent action version pinning and Python setup added.

All workflow actions are pinned to specific commit hashes (checkout, setup-python, version-tag-check, generate-release-notes, github-script, action-gh-release), providing strong security and reproducibility guarantees. Python 3.13 is set up at lines 37–40.

Verify that the Python setup is being used or needed. While the visible workflow steps don't show explicit Python usage, the setup might be for validation scripts or future expansion. If not used, consider removing it to simplify the workflow.


41-89: Tag validation and release notes generation workflow logic is comprehensive.

The workflow now includes:

  • Tag validation (lines 41–59): Two version-tag-check steps validate both the new tag-name and optional from-tag-name (conditional at line 51).
  • Release notes generation (lines 61–89): Well-organized chapters configuration with 12+ categories, skip-labels, row formatting, and hierarchy support.
  • Input handling: The optional from-tag-name input (lines 24–26) is properly handled with conditional validation and passed to generate-release-notes.

The configuration is thorough and aligns with the PR objectives for release notes standardization.


1-30: Workflow inputs have been renamed and expanded to match PR standardization objectives.

The tag-name input (line 21) replaces the previous tagName, and a new optional from-tag-name input (lines 24–26) enables changelog generation from a specific prior tag. Job ID renamed to release-draft (line 29) for clarity.


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.

@github-actions
Copy link

github-actions bot commented Nov 19, 2025

JaCoCo 'balta' module code coverage report - scala 2.12.18

Overall Project 67.11% 🍏

There is no coverage information present for the Files changed

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: 2

🧹 Nitpick comments (2)
.github/pull_request_template.md (1)

11-11: Consider clarifying the issue number placeholder.

The placeholder #issue_number might be unclear to some users. Consider making it more explicit that the entire placeholder should be replaced, for example: Closes #<issue_number> or add a comment clarifying that users should replace issue_number with the actual number.

Example:

-Closes #issue_number
+Closes #<issue_number>
.github/workflows/check_pr_release_notes.yml (1)

29-31: Verify Python setup necessity.

The actions/setup-python@v6 step appears unused since the external action (AbsaOSS/release-notes-presence-check@v0.4.0) should handle its own dependencies internally. If the Python setup is not required, consider removing it to keep the workflow lean.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 35c39c7 and eecd293.

📒 Files selected for processing (12)
  • .github/CODEOWNERS (1 hunks)
  • .github/ISSUE_TEMPLATE/bug_report.md (2 hunks)
  • .github/ISSUE_TEMPLATE/epic.md (1 hunks)
  • .github/ISSUE_TEMPLATE/feature_request.md (1 hunks)
  • .github/ISSUE_TEMPLATE/operative_assignment.md (1 hunks)
  • .github/ISSUE_TEMPLATE/question.md (0 hunks)
  • .github/ISSUE_TEMPLATE/release.md (1 hunks)
  • .github/ISSUE_TEMPLATE/spike.md (2 hunks)
  • .github/ISSUE_TEMPLATE/technical_debt.md (1 hunks)
  • .github/pull_request_template.md (1 hunks)
  • .github/workflows/check_pr_release_notes.yml (1 hunks)
  • .github/workflows/release_draft.yml (1 hunks)
💤 Files with no reviewable changes (1)
  • .github/ISSUE_TEMPLATE/question.md
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/release_draft.yml

107-107: input "tag-name" is not defined in action "actions/github-script@v8". available inputs are "base-url", "debug", "github-token", "previews", "result-encoding", "retries", "retry-exempt-status-codes", "script", "user-agent"

(action)

🪛 LanguageTool
.github/ISSUE_TEMPLATE/bug_report.md

[style] ~25-~25: Consider using a different verb for a more formal wording.
Context: ...team to confirm that the issue has been fixed. ## Screenshots If applicable, add scr...

(FIX_RESOLVE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Scala 2.13.13
  • GitHub Check: Scala 2.11.12
🔇 Additional comments (18)
.github/ISSUE_TEMPLATE/release.md (1)

1-12: LGTM!

The release template is appropriately structured with clear placeholders and consistent formatting. The no RN label correctly indicates that release issues themselves don't require release notes.

.github/ISSUE_TEMPLATE/operative_assignment.md (1)

1-12: LGTM!

The operative assignment template is appropriately minimal for its purpose and consistently formatted with the other templates. The no RN label correctly indicates that operative assignments typically don't require release notes.

.github/ISSUE_TEMPLATE/epic.md (2)

5-5: Good addition of type field.

Adding the type: 'Epic' field enhances template consistency and enables better issue categorization across the project.


16-19: Excellent addition of Business Value section.

The new Business Value section provides important context for prioritization and aligns with best practices for issue templates. The placeholder guidance for adding subtasks is also helpful.

.github/ISSUE_TEMPLATE/technical_debt.md (1)

10-25: Excellent template structure.

The detailed structure with Description, Risk location, Risk assessment, and Possible solution sections provides comprehensive guidance for documenting technical debt. The subsections under Risk assessment (Condition of manifesting, Possible impact) are particularly valuable.

.github/ISSUE_TEMPLATE/bug_report.md (2)

5-5: Good addition of type field.

Adding type: 'Bug' enhances template consistency and enables better issue categorization.


23-26: Excellent addition of Business Value section.

The Business Value section provides important context for prioritization. The note about coordinating with the reporting team for confirmation is a helpful reminder for cross-team collaboration.

.github/ISSUE_TEMPLATE/feature_request.md (3)

5-5: Good addition of type field.

Adding type: 'Feature' enhances template consistency and enables better issue categorization.


16-17: Excellent addition of Business Value section.

The Business Value section provides important context for prioritizing feature requests and aligns with the standardization across all issue templates.


24-26: Good improvement to list formatting.

Changing the numbered list items from negative placeholders to standard positive numbering makes the template more intuitive to use.

.github/CODEOWNERS (1)

1-1: CODEOWNERS ownership change verified successfully.

All four listed GitHub usernames exist and are active:

  • @miroslavpojer
  • @lsulak ✓ (Ladislav Sulak)
  • @salamonpavel
  • @tmikula-dev ✓ (Tobias Mikula)

The removal of @benedeki and addition of @tmikula-dev are properly configured with valid accounts.

.github/ISSUE_TEMPLATE/spike.md (1)

1-38: Template structure improvements look good.

The additions align well with the .github standardization effort: the new type field enables better issue categorization, the Business Value section provides business context for investigations, and the template version comment aids maintenance. Minor formatting improvements (task bullets, numbered list consistency) enhance readability.

.github/workflows/check_pr_release_notes.yml (1)

33-42: Workflow migration to external action is well-executed.

Replacing inline PR validation logic with AbsaOSS/release-notes-presence-check@v0.4.0 reduces maintenance burden and centralizes validation logic. The configuration is clean: regex title pattern for case-insensitive matching, skip labels ("no RN"), and skip placeholders ("TBD") are all well-chosen. This aligns with the standardization goal.

.github/workflows/release_draft.yml (5)

21-26: Input naming convention is consistent and clear.

The renaming from tagName (camelCase) to tag-name (kebab-case) aligns with modern GitHub Actions conventions and the newly added from-tag-name input. This improves consistency across the workflow. The new from-tag-name optional input is well-described and supports changelog generation from a specific prior tag.


32-39: Checkout and Python setup improvements are appropriate.

Updating checkout from v4 to v5 and adding persist-credentials: false follows security best practices for read-only checkouts. The Python 3.13 setup is required by the downstream external actions (version-tag-check and generate-release-notes).


41-59: Version tag validation adds necessary robustness.

The two-step validation using AbsaOSS/version-tag-check@v0.3.0 ensures both the new tag and optional prior tag conform to semantic versioning syntax before proceeding. This prevents malformed tags from being created and improves automation reliability.

Verify that AbsaOSS/version-tag-check@v0.3.0 is a publicly available, stable action. If this is an internal or pre-release action, confirm its availability and compatibility with this workflow.


61-88: Release notes generation with external action is comprehensive and well-configured.

The migration to AbsaOSS/generate-release-notes@v1 with detailed chapter definitions, label mappings, and formatting options centralizes release notes logic and improves maintainability. Configuration choices are sound:

  • Label-based categorization (Breaking Changes, Security, Features, Bugfixes, etc.)
  • Skip labels defined (duplicate, invalid, wontfix, no RN)
  • Row formatting with developers and PR links for traceability
  • Hierarchy and warning flags enabled for quality

Verify that AbsaOSS/generate-release-notes@v1 is publicly available and compatible with the tag-name and optional from-tag-name parameters.


109-117: Release creation migration is clean.

The shift to softprops/action-gh-release@v2 with the generated release notes and tag name is a sensible simplification. The use of steps.generate_release_notes.outputs.release-notes to populate the release body ensures release notes are centrally managed and reusable.

@@ -0,0 +1,11 @@
<!-- What problem does it solve or what feature does it add? -->
Copy link
Contributor

Choose a reason for hiding this comment

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

If the template exists, does it then add the commit log entries, automatically?

Copy link
Collaborator

Choose a reason for hiding this comment

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

based on my reading the answer is: no, it does not add it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, it's just a static pre-filled structure when creating a new PR.

@@ -1 +1 @@
* @benedeki @miroslavpojer @lsulak @salamonpavel
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is an OSS repo, I'm thinking about whether we should keep David here on this list since he even recently reacted on this PR. He still might have interest to contribute to this project

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was done just with purpose to not spam David. If you ( @benedeki ) want to stay as the codeowner, please react to this comment, we would be more then happy to keep you as our contributor!

@tmikula-dev tmikula-dev removed the work in progress Work on this item is not yet finished (mainly intended for PRs) label Dec 3, 2025
@tmikula-dev tmikula-dev merged commit 0d603b4 into master Dec 5, 2025
11 of 18 checks passed
@tmikula-dev tmikula-dev deleted the feature/56-github-file-upgrade branch December 5, 2025 13:08
@coderabbitai coderabbitai bot mentioned this pull request Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

.github File Upgrade

4 participants