diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8288985..9921f22 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @miroslavpojer @Zejnilovic @benedeki +* @miroslavpojer @tmikula-dev diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 274b436..12e5aca 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,12 @@ --- name: Bug report -about: Create a report to help us improve +about: Create a report for a bug found or identified labels: 'bug' type: 'Bug' --- +[//]: # (Template version v1.0.0) + ## Describe the bug A clear and concise description of what the bug is. @@ -18,13 +20,12 @@ Steps to reproduce the behavior OR commands run: ## Expected behavior A clear and concise description of what you expected to happen. +## Business Value +The business value of the requested bugfix. +You can also refer to the reporting team to confirm that the issue has been fixed. + ## Screenshots If applicable, add screenshots to help explain your problem. -## Desktop (please complete the following information): - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - ## Additional context Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/epic_task.md b/.github/ISSUE_TEMPLATE/epic.md similarity index 72% rename from .github/ISSUE_TEMPLATE/epic_task.md rename to .github/ISSUE_TEMPLATE/epic.md index c43af1e..f637167 100644 --- a/.github/ISSUE_TEMPLATE/epic_task.md +++ b/.github/ISSUE_TEMPLATE/epic.md @@ -5,10 +5,15 @@ labels: 'epic' type: 'Epic' --- +[//]: # (Template version v1.0.0) + ## Background A clear and concise intro into the situation. ## Goal The goal that epic wants to achieve. +## Business Value +The business value of achieving the goal. + [Add actionable subtasks or even epics] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 71b1af1..eb8ffc4 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,21 +1,26 @@ --- name: Feature request -about: Suggest an idea for this project +about: Suggest an idea for the project labels: 'enhancement' type: 'Feature' --- +[//]: # (Template version v1.0.0) + ## Background A clear and concise description of where the limitation lies. ## Feature A description of the requested feature. +## Business Value +The business value of the requested feature. + ## Example [Optional] A simple example if applicable. ## Proposed Solution [Optional] Solution Ideas: -1. -2. -3. +1. +2. +3. diff --git a/.github/ISSUE_TEMPLATE/operative_assignment.md b/.github/ISSUE_TEMPLATE/operative_assignment.md new file mode 100644 index 0000000..462ccac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/operative_assignment.md @@ -0,0 +1,12 @@ +--- +name: Operative assignment +about: Issue template for an assignment about setting up the project, it's management or documentation. Usually not touching the codebase. +labels: 'infrastructure,no RN' +type: 'Task' +--- + +[//]: # (Template version v1.0.0) + +## The assignment + +Short description of the assignment. diff --git a/.github/ISSUE_TEMPLATE/operative_task.md b/.github/ISSUE_TEMPLATE/operative_task.md deleted file mode 100644 index fc73981..0000000 --- a/.github/ISSUE_TEMPLATE/operative_task.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Operative task -about: Issue template for operational tasks. -labels: 'infrastructure,no RN' -type: 'Task' ---- - -## The task - -Short description of the task. diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md new file mode 100644 index 0000000..31c53f9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release.md @@ -0,0 +1,12 @@ +--- +title: Create a release of vX.Y.0 +name: Release +about: Create a project release and its release notes +labels: 'documentation,infrastructure,no RN' +type: 'Task' +--- + +[//]: # (Template version v1.0.0) + +## Background +Version vX.Y.0 can be released, including its release notes diff --git a/.github/ISSUE_TEMPLATE/spike_task.md b/.github/ISSUE_TEMPLATE/spike.md similarity index 72% rename from .github/ISSUE_TEMPLATE/spike_task.md rename to .github/ISSUE_TEMPLATE/spike.md index 05c6dba..adff1b7 100644 --- a/.github/ISSUE_TEMPLATE/spike_task.md +++ b/.github/ISSUE_TEMPLATE/spike.md @@ -5,6 +5,8 @@ labels: 'spike' type: 'Task' --- +[//]: # (Template version v1.0.0) + ## Background A clear and concise description of the problem or a topic we need to understand. @@ -16,19 +18,21 @@ Feel free to add information about why it's needed and what assumptions you have 2. 3. -## Desired Outcome +## Business Value +The business value of the requested investigation. +## Desired Outcome The list of desired outcomes of this spike ticket. ### Tasks -- [ ] Questions have been answered or we have a clearer idea of how to get to our goal +- [ ] Questions have been answered, or we have a clearer idea of how to get to our goal - [ ] Discussion with the team - [ ] Documentation - [ ] Create recommendations and new implementation tickets -- [ ] item here.. +- [ ] item here... ## Additional Info/Resources [Optional] -1. -2. -3. +1. +2. +3. diff --git a/.github/ISSUE_TEMPLATE/technical_debt.md b/.github/ISSUE_TEMPLATE/technical_debt.md new file mode 100644 index 0000000..798c419 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/technical_debt.md @@ -0,0 +1,25 @@ +--- +name: Technical debt +about: Technical debt identified or created in the project +labels: 'tech debt' +type: 'Feature' +--- + +[//]: # (Template version v1.0.0) + +## Description +What is the risk essence. + +## Risk location +Where is the source of the risk - class name(s), approach or solution. + +## Risk assessment + +### Condition of it manifesting +What are the conditions under which this technical debt would manifest. + +### Possible impact +What is/would be the impact of the technical debt, if not addressed. + +## Possible solution +Ideas and suggestions how to address the technical debt. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index eafa875..323ac01 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,11 @@ -> Add information about goal of Pull Request. + +## Overview ---- -> **Note:** Remember to link this PR to the related issue by adding `Fixes #issue_number` to the description above. + +## Release Notes +- TBD: 1st item of release notes +- TBD: 2nd item of release notes + +## Related Closes #issue_number diff --git a/.github/workflows/check_pr_release_notes.yml b/.github/workflows/check_pr_release_notes.yml index 0ed7af7..9abdeb2 100644 --- a/.github/workflows/check_pr_release_notes.yml +++ b/.github/workflows/check_pr_release_notes.yml @@ -14,7 +14,7 @@ # limitations under the License. # -name: Check PR Release Notes in Description +name: Check PR Release Notes on: pull_request: @@ -26,15 +26,17 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/setup-python@v5.1.1 + - uses: actions/setup-python@v6 with: - python-version: '3.11' + python-version: '3.13' - name: Check presence of release notes in PR description - uses: AbsaOSS/release-notes-presence-check@v0.3.0 + uses: AbsaOSS/release-notes-presence-check@v0.4.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: github-repository: ${{ github.repository }} pr-number: ${{ github.event.number }} + title: "## [Rr]elease [Nn]otes" skip-labels: 'no RN' + skip-placeholders: 'TBD' diff --git a/.github/workflows/release_draft.yml b/.github/workflows/release_draft.yml index d0636f6..eb97eb3 100644 --- a/.github/workflows/release_draft.yml +++ b/.github/workflows/release_draft.yml @@ -14,78 +14,81 @@ # limitations under the License. # -name: Release - create draft release +name: Draft Release on: workflow_dispatch: inputs: tag-name: - description: 'Name of git version tag to be created, and then draft release created. Syntax: "v[0-9]+.[0-9]+.[0-9]+".' + description: 'Name of git tag to be created, and then draft release created. Syntax: "v[0-9]+.[0-9]+.[0-9]+".' required: true + from-tag-name: + description: 'Name of the git tag from which to detect changes from. Default value: latest tag. Syntax: "v[0-9]+.[0-9]+.[0-9]+".' + required: false jobs: - check-tag: + release-draft: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@v5.1.1 + - uses: actions/setup-python@v6 with: - python-version: '3.11' + python-version: '3.13' - - name: Version Tag Check - id: version_tag_check - uses: AbsaOSS/version-tag-check@master + - name: Check Format of Received Tag + id: check-version-tag + uses: AbsaOSS/version-tag-check@v0.3.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: github-repository: ${{ github.repository }} version-tag: ${{ github.event.inputs.tag-name }} - release-draft: - needs: check-tag - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - persist-credentials: false - - - uses: actions/setup-python@v5.1.1 + - name: Check Format of Received From Tag + if: ${{ github.event.inputs.from-tag-name }} + id: check-version-from-tag + uses: AbsaOSS/version-tag-check@v0.3.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - python-version: '3.11' + github-repository: ${{ github.repository }} + version-tag: ${{ github.event.inputs.from-tag-name }} + should-exist: true - name: Generate Release Notes id: generate_release_notes - uses: AbsaOSS/generate-release-notes@v0.4.0 + uses: AbsaOSS/generate-release-notes@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag-name: ${{ github.event.inputs.tag-name }} - chapters: '[ - {"title": "No entry 🚫", "label": "duplicate"}, - {"title": "No entry 🚫", "label": "invalid"}, - {"title": "No entry 🚫", "label": "wontfix"}, - {"title": "No entry 🚫", "label": "no RN"}, - {"title": "Breaking Changes 💥", "label": "breaking-change"}, - {"title": "New Features 🎉", "label": "enhancement"}, - {"title": "New Features 🎉", "label": "feature"}, - {"title": "Bugfixes 🛠", "label": "bug"}, - {"title": "Infrastructure ⚙️", "label": "infrastructure"}, - {"title": "Silent-live 🤫", "label": "silent-live"}, - {"title": "Documentation 📜", "label": "documentation"} - ]' - skip-release-notes-label: 'no RN' - verbose: true - + chapters: | + - {"title": "Entries to skip 🚫", "label": "duplicate"} + - {"title": "Entries to skip 🚫", "label": "invalid"} + - {"title": "Entries to skip 🚫", "label": "wontfix"} + - {"title": "Entries to skip 🚫", "label": "no RN"} + - {"title": "Breaking Changes 💥", "label": "breaking change"} + - {"title": "Security updates 👮", "label": "security"} + - {"title": "New Features 🎉", "label": "enhancement"} + - {"title": "Bugfixes 🛠", "label": "bug"} + - {"title": "Epics 📖", "label": "epic"} + - {"title": "Infrastructure ⚙️", "label": "infrastructure"} + - {"title": "Silent-live 🤫", "label": "silent live"} + - {"title": "Documentation 📜", "label": "documentation"} + duplicity-scope: 'none' warnings: true - print-empty-chapters: true - + skip-release-notes-labels: "no RN,duplicate,invalid,wontfix" + print-empty-chapters: false + row-format-issue: '_{title}_ {developers} in {number}' + row-format-pr: '_{title}_ {developers} in {number}' + row-format-link-pr: true + hierarchy: true - name: Create and Push Tag - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | const tag = core.getInput('tag-name') @@ -104,7 +107,7 @@ jobs: tag-name: ${{ github.event.inputs.tag-name }} - name: Create Draft Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: