Skip to content

Commit 29bed4b

Browse files
committed
Generate extra configuration via the cookiecutter template
We are finally eating our own dog food. This brings: - Issue templates - CI workflow - Keywords labeler action - PR labeler action - Dependabot configuration - CODEOWNERS - Release notes (and template) - Contributing guide - Documentation generations using mkdocs Signed-off-by: Leandro Lucarella <[email protected]>
1 parent 4619347 commit 29bed4b

26 files changed

+997
-31
lines changed

.github/ISSUE_TEMPLATE/bug.yml

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# GitHub issue form. For more information see:
2+
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
3+
4+
name: Report something is not working properly 🐛
5+
description:
6+
Use this if there is something that is not working properly. If you are not
7+
sure or you need help making something work, please ask a question instead.
8+
labels:
9+
- "priority:❓"
10+
- "type:bug"
11+
body:
12+
- type: markdown
13+
attributes:
14+
value:
15+
Thanks for taking the time to fill out this bug report!
16+
- type: textarea
17+
id: what-happened
18+
attributes:
19+
label: What happened?
20+
description: Please tell us what happened that shouldn't have.
21+
placeholder: What happened that shouldn't have.
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: what-expected
26+
attributes:
27+
label: What did you expect instead?
28+
description: Please tell us what did you expect to happen.
29+
placeholder: What did you expect to happen.
30+
validations:
31+
required: true
32+
- type: input
33+
id: version
34+
attributes:
35+
label: Affected version(s)
36+
description:
37+
Please add a comma-separated list of the versions affected by this
38+
issue.
39+
placeholder: 'Example: v0.11.0, v0.12.0'
40+
- type: dropdown
41+
id: part
42+
attributes:
43+
label: Affected part(s)
44+
description:
45+
Which parts of the repo are affected by this issue? Select all that
46+
apply.
47+
multiple: true
48+
options:
49+
- I don't know (part:❓)
50+
- Documentation (part:docs)
51+
- Unit, integration and performance tests (part:tests)
52+
- Build script, CI, dependencies, etc. (part:tooling)
53+
- Affects only the configuration of actor repos (part:actor-only)
54+
- Affects only the configuration of app repos (part:app-only)
55+
- Affects only the configuration of lib repos (part:lib-only)
56+
- Affects only the configuration of model repos (part:model-only)
57+
- Affects the configuration of a api repo (part:api-only)
58+
- Command-line tool (part:cli)
59+
- Cookiecutter template (part:cookiecutter)
60+
- Tools to configure mkdocs (part:mkdocs)
61+
- Tools to configure nox (part:nox)
62+
- Tools to configure protobufs (part:protobuf)
63+
- Tools to configure the CI (part:ci)
64+
validations:
65+
required: true
66+
- type: textarea
67+
id: extra
68+
attributes:
69+
label: Extra information
70+
description:
71+
Please write here any extra information you think it might be relevant,
72+
e.g., if this didn't happen before, or if you suspect where the problem
73+
might be.
74+
placeholder: Any extra information you think it might be relevant.

.github/ISSUE_TEMPLATE/config.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# GitHub issue template chooser. For more information see:
2+
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
3+
4+
blank_issues_enabled: true
5+
contact_links:
6+
- name: Ask a question ❓
7+
url: https://github.com/frequenz-floss/frequenz-repo-config-python/discussions/new?category=support
8+
about: Use this if you are not sure how to do something, have installation problems, etc.

.github/ISSUE_TEMPLATE/feature.yml

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# GitHub issue form. For more information see:
2+
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
3+
4+
name: Request a feature or enhancement ✨
5+
description: Use this if something is missing or could be done better or more easily.
6+
labels:
7+
- "part:❓"
8+
- "priority:❓"
9+
- "type:enhancement"
10+
body:
11+
- type: markdown
12+
attributes:
13+
value:
14+
Thanks for taking the time to fill out this feature or enhancement
15+
request!
16+
- type: textarea
17+
id: whats-needed
18+
attributes:
19+
label: What's needed?
20+
description:
21+
Please tell us what's missing or what could be done better or more easily.
22+
placeholder: What's missing or what could be done better or more easily.
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: solution
27+
attributes:
28+
label: Proposed solution
29+
description:
30+
Please tell us how you think the needs above can be fulfilled. Only
31+
fill this field if it wasn't described above.
32+
placeholder:
33+
How do you think the needs above can be fulfilled. Only fill this field
34+
if it wasn't described above.
35+
- type: textarea
36+
id: use-cases
37+
attributes:
38+
label: Use cases
39+
description:
40+
Please tell us about the main use cases you see for this new feature or
41+
enhancement to help us understand more.
42+
placeholder:
43+
The main use cases you see for this new feature or enhancement to help
44+
us understand more.
45+
- type: textarea
46+
id: alternatives
47+
attributes:
48+
label: Alternatives and workarounds
49+
description:
50+
Please tell us if you tried any alternatives or workarounds for these
51+
use cases and how (un)useful they were.
52+
placeholder:
53+
Any alternatives or workarounds for these use cases and how (un)useful
54+
they were.
55+
- type: textarea
56+
id: additional-context
57+
attributes:
58+
label: Additional context
59+
description:
60+
Please add any additional information here - screenshots, diagrams, etc.
61+
placeholder: Any additional information here - screenshots, diagrams, etc.

.github/RELEASE_NOTES.template.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Frequenz Repository Configuration Release Notes
2+
3+
## Summary
4+
5+
<!-- Here goes a general summary of what this release is about -->
6+
7+
## Upgrading
8+
9+
<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with -->
10+
11+
## New Features
12+
13+
<!-- Here goes the main new features and examples or instructions on how to use them -->
14+
15+
## Bug Fixes
16+
17+
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->

.github/dependabot.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
time: "07:00"
8+
labels:
9+
- "part:tooling"
10+
- "type:tech-debt"
11+
# Default versioning-strategy. For other versioning-strategy see:
12+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#versioning-strategy
13+
versioning-strategy: auto
14+
# Allow up to 10 open pull requests for updates to dependency versions
15+
open-pull-requests-limit: 10
16+
17+
- package-ecosystem: "github-actions"
18+
directory: "/"
19+
schedule:
20+
interval: "daily"
21+
time: "06:00"
22+
labels:
23+
- "part:tooling"
24+
- "type:tech-debt"

.github/keylabeler.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# KeywordLabeler app configuration. For more information check:
2+
# https://github.com/ZeWaka/KeywordLabeler#readme
3+
4+
# Determines if we search the title (optional). Defaults to true.
5+
matchTitle: true
6+
7+
# Determines if we search the body (optional). Defaults to true.
8+
matchBody: true
9+
10+
# Determines if label matching is case sensitive (optional). Defaults to true.
11+
caseSensitive: true
12+
13+
# Explicit keyword mappings to labels. Form of match:label. Required.
14+
labelMappings:
15+
"part:docs": "part:docs"
16+
"part:tests": "part:tests"
17+
"part:tooling": "part:tooling"
18+
"part:❓": "part:❓"
19+
"part:actor-only": "part:actor-only"
20+
"part:api-only": "part:api-only"
21+
"part:app-only": "part:app-only"
22+
"part:ci": "part:ci"
23+
"part:cli": "part:cli"
24+
"part:cookiecutter": "part:cookiecutter"
25+
"part:lib-only": "part:lib-only"
26+
"part:mkdocs": "part:mkdocs"
27+
"part:model-only": "part:model-only"
28+
"part:nox": "part:nox"
29+
"part:protobuf": "part:protobuf"

.github/labeler.yml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Configuration for the Labeler GitHub action, executed by
2+
# .github/workflows/labeler.yml.
3+
#
4+
# The basic syntax is [label]: [path patterns].
5+
#
6+
# For more details on the configuration please see:
7+
# https://github.com/marketplace/actions/labeler
8+
9+
"part:docs":
10+
- "**/*.md"
11+
- "docs/**"
12+
- "examples/**"
13+
- LICENSE
14+
15+
"part:tests":
16+
- "tests/**"
17+
18+
"part:tooling":
19+
- "**/*.ini"
20+
- "**/*.toml"
21+
- "**/*.yaml"
22+
- "**/*.yml"
23+
- ".git*"
24+
- ".git*/**"
25+
- CODEOWNERS
26+
- MANIFEST.in
27+
- noxfile.py
28+
29+
"part:ci":
30+
- "**/.github/*labeler.*"
31+
- "**/.github/dependabot.*"
32+
- "**/.github/workflows/*"
33+
34+
"part:cookiecutter":
35+
- "cookiecutter/**"
36+
37+
"part:mkdocs":
38+
- "**/docs/*.py"
39+
- "**/mkdocs.*"
40+
- "src/frequenz/repo/config/mkdocs*"
41+
42+
"part:nox":
43+
- "**/noxfile.py"
44+
- "src/frequenz/repo/config/nox/**"
45+
46+
"part:protobuf":
47+
- "src/frequenz/repo/config/setuptools/grpc*"
48+
- "src/frequenz/repo/config/protobuf*"

0 commit comments

Comments
 (0)