Updated project README to include references to the new security policy.

Moved the project's code of conduct out of the contributions guide and into the appropriate policy file.

Updated the contribution guide to follow the NetBox project format.

Added various issue templates based on the NetBox project formats but updated for PDA.

Added additional GitHub workflows to handle stale and closed issue and PR management.

Removed legacy stale issue workflow that was not in use.
This commit is contained in:
Matt Scott
2023-03-17 16:42:05 -04:00
parent a25dda8ac1
commit 5c6cf77996
13 changed files with 496 additions and 87 deletions

78
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View File

@@ -0,0 +1,78 @@
---
name: 🐛 Bug Report
description: Report a reproducible bug in the current release of PDA
labels: ["type: bug"]
body:
- type: markdown
attributes:
value: >
**NOTE:** This form is only for reporting _reproducible bugs_ in a current PDA
installation. If you're having trouble with installation or just looking for
assistance with using PDA, please visit our
[discussion forum](https://github.com/PowerDNS-Admin/PowerDNS-Admin/discussions) instead.
- type: input
attributes:
label: PDA version
description: What version of PDA are you currently running?
options:
- "0.4.0"
- "0.3.0"
- "0.2.5"
- "0.2.4"
- "0.2.3"
- "0.2.2"
- "0.2.1"
- "0.2"
- "0.1"
- "I'm Not Sure"
validations:
required: true
- type: dropdown
attributes:
label: Python version
description: What version of Python are you currently running?
options:
- "3.0"
- "3.1"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
validations:
required: true
- type: textarea
attributes:
label: Steps to Reproduce
description: >
Describe in detail the exact steps that someone else can take to
reproduce this bug using the current stable release of PDA. Begin with the
creation of any necessary database objects and call out every operation being
performed explicitly. If reporting a bug in the REST API, be sure to reconstruct
the raw HTTP request(s) being made. Additionally, **do not rely on the demo instance** for reproducing
suspected bugs, as its data is prone to modification or deletion at any time.
placeholder: |
1. Click on "create widget"
2. Set foo to 12 and bar to G
3. Click the "create" button
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: What did you expect to happen?
placeholder: A new zone record should have been created with the specified values
validations:
required: true
- type: textarea
attributes:
label: Observed Behavior
description: What happened instead?
placeholder: A TypeError exception was raised
validations:
required: true

12
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# Reference: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: false
contact_links:
- name: 📖 Contributing Policy
url: https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/docs/CONTRIBUTING.md
about: "Please read through our contributing policy before opening an issue or pull request"
- name: ❓ Discussion
url: https://github.com/PowerDNS-Admin/PowerDNS-Admin/discussions
about: "If you're just looking for help, try starting a discussion instead"
- name: 💬 Project Chat
url: https://mattermost.powerdnsadmin.org/
about: "Join our Mattermost chat to discuss the project with other users and developers"

View File

@@ -0,0 +1,40 @@
---
name: 📖 Documentation Change
description: Suggest an addition or modification to the PDA documentation
labels: ["type: documentation"]
body:
- type: dropdown
attributes:
label: Change Type
description: What type of change are you proposing?
options:
- Addition
- Correction
- Removal
- Cleanup (formatting, typos, etc.)
validations:
required: true
- type: dropdown
attributes:
label: Area
description: To what section of the documentation does this change primarily pertain?
options:
- Features
- Installation/upgrade
- Getting started
- Configuration
- Customization
- Database Setup
- Debug
- Integrations/API
- Administration
- Development
- Other
validations:
required: true
- type: textarea
attributes:
label: Proposed Changes
description: Describe the proposed changes and why they are necessary.
validations:
required: true

View File

@@ -0,0 +1,71 @@
---
name: ✨ Feature Request
description: Propose a new PDA feature or enhancement
labels: ["type: feature"]
body:
- type: markdown
attributes:
value: >
**NOTE:** This form is only for submitting well-formed proposals to extend or modify
PDA in some way. If you're trying to solve a problem but can't figure out how, or if
you still need time to work on the details of a proposed new feature, please start a
[discussion](https://github.com/PowerDNS-Admin/PowerDNS-Admin/discussions) instead.
- type: input
attributes:
label: PDA version
description: What version of PDA are you currently running?
options:
- "0.4.0"
- "0.3.0"
- "0.2.5"
- "0.2.4"
- "0.2.3"
- "0.2.2"
- "0.2.1"
- "0.2"
- "0.1"
- "I'm Not Sure"
validations:
required: true
- type: dropdown
attributes:
label: Feature type
options:
- Data model modification
- App Setting Addition
- Default App Setting Change
- New functionality
- Change to existing functionality
validations:
required: true
- type: textarea
attributes:
label: Proposed functionality
description: >
Describe in detail the new feature or behavior you are proposing. Include any specific changes
to work flows, data models, and/or the user interface. The more detail you provide here, the
greater chance your proposal has of being discussed. Feature requests which don't include an
actionable implementation plan will be rejected.
validations:
required: true
- type: textarea
attributes:
label: Use case
description: >
Explain how adding this functionality would benefit PDA users. What need does it address?
validations:
required: true
- type: textarea
attributes:
label: Database changes
description: >
Note any changes to the database schema necessary to support the new feature. For example,
does the proposal require adding a new model or field? (Not all new features require database
changes.)
- type: textarea
attributes:
label: External dependencies
description: >
List any new dependencies on external libraries or services that this new feature would
introduce. For example, does the proposal require the installation of a new Python package?
(Not all new features introduce new dependencies.)

View File

@@ -0,0 +1,24 @@
---
name: 🏡 Housekeeping
description: A change pertaining to the codebase itself (developers only)
labels: ["type: housekeeping"]
body:
- type: markdown
attributes:
value: >
**NOTE:** This template is for use by maintainers only. Please do not submit
an issue using this template unless you have been specifically asked to do so.
- type: textarea
attributes:
label: Proposed Changes
description: >
Describe in detail the new feature or behavior you'd like to propose.
Include any specific changes to work flows, data models, or the user interface.
validations:
required: true
- type: textarea
attributes:
label: Justification
description: Please provide justification for the proposed change(s).
validations:
required: true

14
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,14 @@
<!--
Thank you for your interest in contributing to the PowerDNS Admin project! Please note that our contribution
policy requires that a feature request or bug report be approved and assigned prior to opening a pull request.
This helps avoid wasted time and effort on a proposed change that we might want to or be able to accept.
IF YOUR PULL REQUEST DOES NOT REFERENCE AN ISSUE WHICH HAS BEEN ASSIGNED TO YOU, IT WILL BE CLOSED AUTOMATICALLY!
Please specify your assigned issue number on the line below.
-->
### Fixes: #1234
<!--
Please include a summary of the proposed changes below.
-->

20
.github/stale.yml vendored
View File

@@ -1,20 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- bug / broken-feature
- bug / security-vulnerability
- feature / request
- mod / help-wanted
# Label to use when marking an issue as stale
staleLabel: mod / stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: true

21
.github/workflows/lock.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
# lock-threads (https://github.com/marketplace/actions/lock-threads)
name: 'Lock threads'
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
with:
issue-inactive-days: 90
pr-inactive-days: 30
issue-lock-reason: 'resolved'

45
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
# close-stale-issues (https://github.com/marketplace/actions/close-stale-issues)
name: 'Close stale issues/PRs'
on:
schedule:
- cron: '0 4 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
with:
close-issue-message: >
This issue has been automatically closed due to lack of activity. In an
effort to reduce noise, please do not comment any further. Note that the
core maintainers may elect to reopen this issue at a later date if deemed
necessary.
close-pr-message: >
This PR has been automatically closed due to lack of activity.
days-before-stale: 90
days-before-close: 30
exempt-issue-labels: 'status: accepted,status: blocked,status: needs milestone'
operations-per-run: 100
remove-stale-when-updated: false
stale-issue-label: 'mod / stale'
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. PDA
is governed by a small group of core maintainers which means not all opened
issues may receive direct feedback. **Do not** attempt to circumvent this
process by "bumping" the issue; doing so will result in its immediate closure
and you may be barred from participating in any future discussions. Please see
our [contributing guide](https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/docs/CONTRIBUTING.md).
stale-pr-label: 'mod / stale'
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
recent activity. It will be closed automatically if no further action is
taken.