diff --git a/.forgejo/ISSUE_TEMPLATE/bug_report.md b/.forgejo/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..f0b9fdc --- /dev/null +++ b/.forgejo/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,21 @@ +--- +name: Bug Report +about: Defect tracked through PR workflow +title: "[Bug] " +labels: ["bug"] +--- + +## Fehlerbeschreibung + +## Reproduktionsschritte +1. +2. + +## Erwartetes Verhalten + +## Tatsächliches Verhalten + +## Umgebung +- Repo: +- Branch: +- Commit: diff --git a/.forgejo/ISSUE_TEMPLATE/feature_request.md b/.forgejo/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..edad1f1 --- /dev/null +++ b/.forgejo/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,24 @@ +--- +name: Feature Request +about: Controlled feature work via issue → branch → PR +title: "[Feature] " +labels: ["feature"] +--- + +## Ziel + + +## Motivation + + +## Akzeptanzkriterien +- [ ] +- [ ] + +## Nicht verändern + + +## Testanforderungen +- [ ] lint +- [ ] tests +- [ ] docker-build diff --git a/.forgejo/ISSUE_TEMPLATE/refactoring.md b/.forgejo/ISSUE_TEMPLATE/refactoring.md new file mode 100644 index 0000000..6ed75ac --- /dev/null +++ b/.forgejo/ISSUE_TEMPLATE/refactoring.md @@ -0,0 +1,17 @@ +--- +name: Refactoring +about: Structural change with explicit risk notes +title: "[Refactor] " +labels: ["refactor"] +--- + +## Bereich + +## Ziel + +## Risiken + +## Teststrategie +- [ ] lint +- [ ] tests +- [ ] docker-build diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..92347c5 --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CodeView CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + lint: + runs-on: docker + steps: + - uses: actions/checkout@v4 + - name: Lint + run: | + if [ -f package.json ]; then npm ci && npm run lint; else echo "no lint configured"; fi + + tests: + runs-on: docker + needs: lint + steps: + - uses: actions/checkout@v4 + - name: Unit tests + run: | + if [ -f package.json ]; then npm test; elif [ -f pyproject.toml ]; then pip install -e . && pytest; else echo "no tests configured"; fi + + docker-build: + runs-on: docker + needs: tests + steps: + - uses: actions/checkout@v4 + - name: Docker build + run: | + if [ -f Dockerfile ]; then docker build -t app:ci .; elif [ -f docker-compose.yml ]; then docker compose build; else echo "no docker build configured"; fi