Merge pull request #257 from devilbox/repository-automation

Setup repository automation
This commit is contained in:
Devilbox Bot
2022-12-14 11:02:33 +01:00
committed by GitHub
13 changed files with 512 additions and 19 deletions

106
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,106 @@
---
name: "\U0001F41B Bug report"
description: File a bug report
title: "[Bug]: "
labels: ["bug", "status:triage"]
assignees:
- cytopia
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
attributes:
label: (Optional) Error message
description: If you encountered any error message, copy and paste it here. This will be used for googling the issue.
validations:
required: false
- type: textarea
id: what-happened
attributes:
label: What went wrong?
description: What exactly went wrong and what bug did you encounter?
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected behaviour
description: What did you expect to happen instead?
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: How can we reproduce the bug?
description: How do you trigger this bug? Please walk us through it step by step in detail. This is crucial in order to triage the bug and support you in resolving it.
validations:
required: true
- type: dropdown
id: host-os
attributes:
label: Host Operating System
description: What operating system are you using?
multiple: false
options:
- Linux
- macOS
- Windows
validations:
required: true
- type: dropdown
id: host-platform
attributes:
label: Host Platform (amd64, arm64, other)
description: What host platform are you running on?
options:
- amd64
- arm64
- other
validations:
required: true
- type: dropdown
attributes:
label: (Linux only) Is SELinux enabled?
description: When using Linux as your host operating system, check if SELinux is enabled or not.
options:
- Yes, SELinux is enabled
- No, SELinux is disabled
- I don't know
- I am not on Linux
validations:
required: true
- type: input
id: docker-version
attributes:
label: Docker version
description: "What Docker version are you using? Please copy and paste the output of `docker --version` into this text area."
validations:
required: true
- type: textarea
id: log-docker
attributes:
label: "Log: docker logs"
description: "Please copy and paste the output of `docker logs` into this text area"
render: shell
validations:
required: true
- type: textarea
attributes:
label: (Optional) Additional information
description: Add any additional information that might help with this bug report.
validations:
required: false

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

@@ -0,0 +1,12 @@
---
blank_issues_enabled: false
contact_links:
- name: Devilbox Discord Chat
url: https://discord.gg/2wP3V6kBj4
about: Please notify or discuss about any other requests here.
- name: Devilbox Discourse Forum
url: https://devilbox.discourse.group/
about: Please ask and answer general questions here.
- name: Devilbox documentation
url: https://devilbox.readthedocs.io/
about: Find the Devilbox documentation here.

View File

@@ -0,0 +1,37 @@
---
name: "\U0001F4DD Documentation"
description: Something is missing, unclear or wrong in the documentation.
title: "[Docs]: "
labels: ["documentation", "status:triage"]
assignees:
- cytopia
body:
- type: textarea
attributes:
label: What is wrong in the documentation?
description: Tell us, what is wrong in the documentation?
validations:
required: false
- type: textarea
attributes:
label: What is unclear in the documentation?
description: Tell us, what is unclear in the documentation?
validations:
required: false
- type: textarea
attributes:
label: What is missing in the documentation?
description: Tell us, what is missing in the documentation?
validations:
required: false
- type: dropdown
attributes:
label: Are you willing to provide a PR to address this?
options:
- "Yes"
- "No"

View File

@@ -0,0 +1,36 @@
---
name: "✨ Feature request"
description: Suggest an idea or feature for this project
title: "[Feature]: "
labels: ["feature", "issue:triage"]
assignees: []
body:
- type: textarea
attributes:
label: What is your idea or feature suggestion?
description: Tell us, what idea or feature you suggest to be added.
validations:
required: true
- type: textarea
attributes:
label: Benefits
description: Tell us, how this will be beneficial.
validations:
required: false
- type: textarea
attributes:
label: Where can we find information about this?
description: If you are proposing a software or tool, please add relevant links and documentation.
validations:
required: false
- type: dropdown
attributes:
label: Are you willing to provide a PR to address this?
options:
- "Yes"
- "No"

45
.github/ISSUE_TEMPLATE/howto.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
---
name: "❔ Question"
description: How do I do X or Y?
title: "[Question]: "
labels: ["question", "issue:triage"]
assignees: [cytopia]
body:
- type: markdown
attributes:
value: |
If this is a generic question, please consider using the [Discord Chat](https://discord.gg/2wP3V6kBj4) or the [Devilbox forum](https://devilbox.discourse.group/) instead.
- type: checkboxes
attributes:
label: Have you already checked elsewhere?
description: You may select more than one.
options:
- label: I have checked existing issues
- label: I have googled already with no luck
- label: I have not done any of the above
validations:
required: true
- type: textarea
attributes:
label: What is your question?
description: Tell the community, what your question is. Be as specific as possible to make it easier for other people to answer your question.
validations:
required: true
- type: textarea
attributes:
label: What have you tried already?
description: Add some details on what you have tried already, so this can be ruled out.
validations:
required: true
- type: textarea
attributes:
label: What is your goal?
description: Tell the community, what you want to accomplish? This might be helpful to know in order to prevent [XY problems](https://en.wikipedia.org/wiki/XY_problem).
validations:
required: true

21
.github/ISSUE_TEMPLATE/report.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
---
name: "🕬 Report"
description: Report something to the maintainer
title: "[Report]: "
labels: ["report", "status:triage"]
assignees:
- cytopia
body:
- type: markdown
attributes:
value: |
Report something to the maintainer such as versions are outdated or pipelines are not running, etc. For anything else please use other issue types. Thanks for taking the time!
- type: input
attributes:
label: Report
description: What do you want to report?
validations:
required: true

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
---
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

105
.github/labels.yml vendored Normal file
View File

@@ -0,0 +1,105 @@
# The labels in this file are automatically synced with the repository
# using the micnncim/action-label-syncer action.
---
###
### Pull Requests
###
- name: C-dependency
color: 1abc9c
description: "Category: Dependency"
- name: PR-block
color: 3498db
description: "Pull Request: Do not merge"
- name: PR-merge
color: 3498db
description: "Pull Request: Merge when ready"
###
### General Issues
###
- name: bug
description: "Bug Report"
color: ee0701
- name: report
description: "General Report"
color: ef561f
- name: feature
description: "Feature Request"
color: dc8b10
- name: question
description: "General question"
color: cc317c
- name: documentation
description: "Documentation related"
color: 45b046
###
### Status: Issue progress
###
- name: "status:triage"
description: "Issue needs Triaging"
color: f2a7cf
- name: "status:confirmed"
description: "Issue is confirmed"
color: f2a7cf
- name: "status:needs-more-info"
description: "Issue needs more info"
color: f2a7cf
###
### Close
###
- name: "issue:invalid"
description: ""
color: f5c7fc
- name: "issue:invalid-type"
description: ""
color: f5c7fc
- name: "issue:duplicate"
description: ""
color: f5c7fc
- name: "issue:wontfix"
description: ""
color: f5c7fc
- name: "issue:stale"
description: ""
color: f5c7fc
###
### Issue types
###
- name: "type:extension"
description: ""
color: 0c9cf2
- name: "type:tool"
description: ""
color: 0c9cf2
- name: "type:env-var"
description: ""
color: 0c9cf2
- name: "type:config"
description: ""
color: 0c9cf2
###
### Issue Host specific
###
- name: "host:linux"
description: ""
color: fbca04
- name: "host:macos"
description: ""
color: fbca04
- name: "host:windows"
description: ""
color: fbca04
- name: "arch:amd64"
description: ""
color: fbca04
- name: "arch:arm64"
description: ""
color: fbca04
- name: "arch:other"
description: ""
color: fbca04

33
.github/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
---
name-template: '$RESOLVED_VERSION 🌈'
tag-template: '$RESOLVED_VERSION'
version-template: '$MAJOR.$MINOR'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: minor
template: |
## Changes
$CHANGES

65
.github/workflows/generator.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
---
# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: generator
# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
# Runs on Pull Requests
workflow_dispatch:
pull_request:
paths:
- '.ansible/**'
- '.github/workflows/action.yml'
- '.github/workflows/params.yml'
- 'Dockerfiles/**'
- 'php_modules/**'
- 'php_tools/**'
- 'tests/**'
- 'Makefile'
- '!**.md'
- '!.ansible/ansible.cfg'
# -------------------------------------------------------------------------------------------------
# What to run
# -------------------------------------------------------------------------------------------------
jobs:
generator:
name: "Generator"
runs-on: ubuntu-latest
steps:
# ------------------------------------------------------------
# Setup repository
# ------------------------------------------------------------
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install required Python packages
run: |
pip install yamllib
pip install typing
# ------------------------------------------------------------
# Lint repository
# ------------------------------------------------------------
- name: Lint Changelog
run: |
make lint-changelog
- name: Diff generated Docker files
run: |
make gen-dockerfiles
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }

View File

@@ -31,16 +31,6 @@ jobs:
with:
fetch-depth: 0
- name: Install Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install required Python packages
run: |
pip install yamllib
pip install typing
# ------------------------------------------------------------
# Lint repository
# ------------------------------------------------------------
@@ -51,12 +41,3 @@ jobs:
- name: Lint Yaml
run: |
make lint-yaml
- name: Lint Changelog
run: |
make lint-changelog
- name: Diff generated Docker files
run: |
make gen-dockerfiles
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }

19
.github/workflows/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
---
name: Release Drafter
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
publish: false
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_DRAFTER_TOKEN }}

25
.github/workflows/repository.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
---
name: Repository
on:
push:
branches:
- master
paths:
- .github/labels.yml
jobs:
labels:
name: Labels
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Sync labels
uses: micnncim/action-label-syncer@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
manifest: .github/labels.yml