diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 5fc5ee427..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,47 +0,0 @@ -[//]: # ( -. Note: for support questions, please use Stackoverflow or Gitter**. -. This repository's issues are reserved for feature requests and bug reports. -. -. In case of any problems with Allure Jenkins plugin** please use the following repository -. to create an issue: https://github.com/jenkinsci/allure-plugin/issues -. -. Make sure you have a clear name for your issue. The name should start with a capital -. letter and no dot is required in the end of the sentence. An example of good issue names: -. -. - The report is broken in IE11 -. - Add an ability to disable default plugins -. - Support emoji in test descriptions -) - -#### I'm submitting a ... - - [ ] bug report - - [ ] feature request - - [ ] support request => Please do not submit support request here, see note at the top of this template. - -#### What is the current behavior? - - -#### If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem - - -#### What is the expected behavior? - - -#### What is the motivation / use case for changing the behavior? - - -#### Please tell us about your environment: - - -| Allure version | 2.2.0 | -| --- | --- | -| Test framework | testng@6.8 | -| Allure integration | allure-testng@2.0-BETA11 | -| Generate report using | allure-maven@2.18 | - -#### Other information - -[//]: # ( -. e.g. detailed explanation, stacktraces, related issues, suggestions -. how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc -) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9687a061b..3d29f6ce9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,7 +1,6 @@ -name: 🐞 Bug Report -description: File a Bug report in Java Integration -title: "🐞: " -labels: [ "type:bug", "triage" ] +name: Bug report +description: Report broken or incorrect behavior in an Allure Java integration. +type: bug assignees: [] body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..eb189d888 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,32 @@ +name: Feature request +description: Suggest a user-facing feature or improvement. +type: feature +body: + - type: markdown + attributes: + value: | + Thanks for suggesting an improvement for Allure Java. Please describe the outcome you need, not only a possible implementation. + - type: textarea + id: problem + attributes: + label: What problem should this solve? + description: Describe the workflow, limitation, or user need behind the request. + validations: + required: true + - type: textarea + id: proposal + attributes: + label: What would you like to happen? + description: Describe the behavior or capability you want Allure Java to provide. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Share any current workaround or alternative design you have considered. + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Add examples, links, screenshots, or related issues. diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml new file mode 100644 index 000000000..7cd649f04 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/task.yml @@ -0,0 +1,16 @@ +name: Task +description: Track internal maintenance or repository work. +type: task +body: + - type: textarea + id: goal + attributes: + label: Goal + description: Describe the maintenance, cleanup, or repository task. + validations: + required: true + - type: textarea + id: details + attributes: + label: Details + description: Add relevant context, constraints, links, or acceptance criteria. diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 240d09840..70c93749e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,11 +5,11 @@ updates: schedule: interval: "daily" labels: - - "type:dependencies" + - "pr:dependencies" - package-ecosystem: "gradle" directory: "/" schedule: interval: "daily" labels: - - "type:dependencies" + - "pr:dependencies" diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/pull_request_template.md similarity index 74% rename from .github/PULL_REQUEST_TEMPLATE.md rename to .github/pull_request_template.md index 8178c9b61..4ccdd31e5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/pull_request_template.md @@ -1,7 +1,7 @@ ### Context + #### Checklist + - [ ] [Sign Allure CLA][cla] - [ ] Provide unit tests -[cla]: https://cla-assistant.io/accept/allure-framework/allure2 +[cla]: https://cla-assistant.io/accept/allure-framework/allure-java diff --git a/.github/release.yml b/.github/release.yml index 7c30a5979..abfeddcf1 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -1,25 +1,29 @@ # release.yml changelog: + exclude: + labels: + - 'pr:invalid' + - 'pr:tests' categories: - title: '🚀 New Features' labels: - - 'type:new feature' + - 'pr:new feature' - title: '🔬 Improvements' labels: - - 'type:improvement' + - 'pr:improvement' - title: '🐞 Bug Fixes' labels: - - 'type:bug' + - 'pr:bug' - title: '⬆️ Dependency Updates' labels: - - 'type:dependencies' + - 'pr:dependencies' - title: '📖 Documentation improvements' labels: - - 'type:documentation' + - 'pr:documentation' - title: '⛔️ Security' labels: - - 'type:security' + - 'pr:security' - title: '👻 Internal changes' labels: - - 'type:internal' + - 'pr:internal' diff --git a/.github/workflows/labels-verify.yml b/.github/workflows/labels-verify.yml deleted file mode 100644 index 7315a905a..000000000 --- a/.github/workflows/labels-verify.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: "Verify type labels" - -on: - pull_request_target: - types: [opened, labeled, unlabeled, synchronize] - -permissions: - contents: none - -jobs: - triage: - runs-on: ubuntu-latest - permissions: - pull-requests: read - steps: - - uses: baev/action-label-verify@main - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - allowed: | - type:bug - type:dependencies - type:improvement - type:internal - type:invalid - type:new feature - type:security - type:documentation diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml new file mode 100644 index 000000000..a78347805 --- /dev/null +++ b/.github/workflows/pr-labels.yml @@ -0,0 +1,61 @@ +name: Pull Request Labels + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + - labeled + - unlabeled + - edited + +permissions: + contents: read + pull-requests: read + issues: read + +jobs: + require-pr-label: + name: Require exactly one pr label + runs-on: ubuntu-latest + steps: + - name: Validate release notes label + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + shell: bash + run: | + labels="$(gh api "repos/${GITHUB_REPOSITORY}/issues/${PR_NUMBER}/labels" --jq '.[].name')" + pr_labels="$(printf '%s\n' "${labels}" | grep '^pr:' || true)" + + if [ -z "${pr_labels}" ]; then + count=0 + else + count="$(printf '%s\n' "${pr_labels}" | wc -l | tr -d ' ')" + fi + + if [ "${count}" -eq 1 ]; then + echo "Found PR release-note label: ${pr_labels}" + exit 0 + fi + + { + echo "Pull requests must have exactly one label with the pr: prefix." + echo "Found ${count} pr: labels." + if [ "${count}" -gt 0 ]; then + printf 'Matching labels:\n' + printf '%s\n' "${pr_labels}" | sed 's/^/- /' + fi + echo + echo "Available labels on this PR:" + if [ -n "${labels}" ]; then + printf '%s\n' "${labels}" | sed 's/^/- /' + else + echo "- " + fi + } >> "${GITHUB_STEP_SUMMARY}" + + echo "::error title=Invalid pr: label count::Pull requests must have exactly one label with the pr: prefix. Found ${count}." + exit 1