pr and issue templates + typecheck ci python #138
@@ -0,0 +1,108 @@
|
||||
name: Bug Report
|
||||
about: Something broke
|
||||
title: "bug: "
|
||||
labels:
|
||||
- bug
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: What happened
|
||||
placeholder: Describe the bug
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: What should happen
|
||||
placeholder: Expected behavior
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
placeholder: |
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: OS
|
||||
options:
|
||||
- NixOS
|
||||
- Arch
|
||||
- Debian / Ubuntu
|
||||
- Fedora
|
||||
- Alpine
|
||||
- Artix
|
||||
- Gentoo
|
||||
- Other
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: other-os
|
||||
attributes:
|
||||
label: Other OS (if "Other" above)
|
||||
placeholder: e.g. Void, Gentoo, FreeBSD
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
id: init
|
||||
attributes:
|
||||
label: Init system
|
||||
description: Relevant for UWSM configuration
|
||||
options:
|
||||
- systemd
|
||||
- non-systemd (openrc / runit / s6 / ...)
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: other-init
|
||||
attributes:
|
||||
label: Other init system (if "non-systemd" above)
|
||||
placeholder: e.g. openrc, runit, s6, dinit
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: qt-version
|
||||
attributes:
|
||||
label: Qt version
|
||||
placeholder: 6.11.1
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: commit
|
||||
attributes:
|
||||
label: Branch / commit
|
||||
placeholder: main / abc1234
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Logs / backtrace / screenshots
|
||||
render: shell
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: workaround
|
||||
attributes:
|
||||
label: Found a workaround?
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,51 @@
|
||||
name: Feature Request
|
||||
about: Idea or improvement
|
||||
title: "feat: "
|
||||
labels:
|
||||
- enhancement
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: What's missing / annoying
|
||||
placeholder: The use case or pain point
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: How should it work
|
||||
placeholder: Describe the desired behavior
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Other approaches considered
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
id: scope
|
||||
attributes:
|
||||
label: Area
|
||||
options:
|
||||
- Core / Daemon
|
||||
- UI / Components
|
||||
- Plugin system
|
||||
- CMake / Build
|
||||
- CI / Tooling
|
||||
- Documentation
|
||||
- Other
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Mockups / references / notes
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,59 @@
|
||||
name: Pull Request
|
||||
about: Submit changes
|
||||
title: ""
|
||||
labels: []
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: What & why
|
||||
placeholder: Describe the change and motivation
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: issue
|
||||
attributes:
|
||||
label: Related issue
|
||||
placeholder: "#123"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
id: type
|
||||
attributes:
|
||||
label: Type
|
||||
options:
|
||||
- Bug fix
|
||||
- New feature
|
||||
- Refactor / style
|
||||
- CI / build / tooling
|
||||
- Documentation
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: tested
|
||||
attributes:
|
||||
label: Tested
|
||||
options:
|
||||
- label: Build succeeds
|
||||
- label: Existing tests pass
|
||||
- label: Manually verified
|
||||
|
||||
- type: textarea
|
||||
id: breaking
|
||||
attributes:
|
||||
label: Breaking changes?
|
||||
placeholder: API/ABI breakage? Migration path?
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: CI passes (format, lint, typecheck)
|
||||
- label: Clean commits
|
||||
- label: No new warnings
|
||||
- label: Docs updated if needed
|
||||
@@ -81,6 +81,29 @@ jobs:
|
||||
cd cli
|
||||
python -m pytest tests/ -v
|
||||
|
||||
typecheck:
|
||||
runs-on: alpine
|
||||
container: node:26-alpine
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
apk add --no-cache \
|
||||
git \
|
||||
python3 \
|
||||
py3-pip
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
pip install --no-cache-dir basedpyright
|
||||
|
||||
- name: Type check
|
||||
run: |
|
||||
. .venv/bin/activate
|
||||
basedpyright
|
||||
|
||||
buildcheck:
|
||||
runs-on: alpine
|
||||
container: node:26-alpine
|
||||
|
||||
@@ -54,6 +54,10 @@ select = [
|
||||
"RUF",
|
||||
]
|
||||
|
||||
[tool.basedpyright]
|
||||
typeCheckingMode = "basic"
|
||||
include = ["cli/src"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["cli/tests"]
|
||||
pythonpath = ["cli/src"]
|
||||
|
||||
Reference in New Issue
Block a user