Add a throwaway domain controller job to CI for the domain modules
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, powershell
- Área
- ci-cd, documentation, testing
Línea de trabajo
Start in .github/workflows/ci.yml by adding a windows-dc job that promotes a runner with Install-ADDSForest and runs Pester domain-controller tests. Read docs/Conventions.md section 9 and docs/lab/README.md for runner expectations, and mirror the existing linux/windows job triggers. Done means the new job fails on promotion failure, a sample Domain Admins test passes, and firewall tests on other runners finish without losing connection.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Location & Context
.github/workflows/ci.yml (the linux and windows jobs), docs/Conventions.md section 9, docs/lab/README.md, Roadmap section 4.1 ("Where do real-host tests run?"). Both test jobs already set LAB_REALSYSTEM=1, so each module's real-host tests under tests/ run on the disposable Ubuntu and Windows Server runners as soon as they are written. The third runner that Conventions section 9 plans, a throwaway single domain controller, does not exist yet.
Current Behavior
The domain modules cannot be tested on a real domain in CI: #84 (domain read-only checks), #82 (admin accounts, which on a domain controller are domain accounts), #83 (Windows protocol settings on a domain controller) and #103 (the remaining domain hardening). Their acceptance tests would only run in the lab, by hand, so a change can break them unnoticed until the next lab pass.
Real-host module tests on the existing runners also have a risk the core tests did not: a default-deny firewall (#78) or a rotated credential (#75) can cut the runner off from GitHub, so the job hangs instead of failing.
Remediation Plan
- Add a
windows-dcjob that promotes a fresh Windows Server runner to a single-domain forest (Install-ADDSForestwith a throwaway domain name and password made at run time), then runs the Pester tests tagged for a domain controller withLAB_REALSYSTEM=1. - Run it only when files under the domain modules,
core/,platform/windows/or the workflow change, as the other jobs do. - Give the real-host module tests a rule for the runners: keep the runner's own outbound connection to GitHub allowed, set a job timeout, and undo every change at the end of the test even when it fails.
- Record in
docs/lab/README.mdwhich module tests run on which runner, and keep the older-system tests in the lab. - Tests:
- The new job fails if the promotion fails, rather than skipping the domain tests.
- A sample domain test (a planted extra member of Domain Admins is listed) passes on the runner.
- A firewall test on the Ubuntu and Windows runners finishes and reports, without losing the runner.
- Lenguaje dominante
- PowerShell
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 54 min
- PR fusionados (30 d)
- 43
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dotnetdork/Labyrinth
-
area: tests-ci type: feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
dotnetdork/Labyrinth#128 ·
Los mantenedores suelen responder en 1 día
-
area: command-line platform: linux platform: windows type: docs
Dificultad 4/5 3-5 días Aptitud para principiantes 70/100
dotnetdork/Labyrinth#125 ·
Los mantenedores suelen responder en 1 día
-
area: command-line platform: linux platform: windows type: feature
Dificultad 4/5 3-5 días Aptitud para principiantes 70/100
dotnetdork/Labyrinth#121 ·
Los mantenedores suelen responder en 1 día
-
area: command-line platform: linux platform: windows type: feature
Dificultad 4/5 3-5 días Aptitud para principiantes 70/100
dotnetdork/Labyrinth#120 ·
Los mantenedores suelen responder en 1 día
-
area: command-line platform: linux platform: windows type: feature
Dificultad 4/5 3-5 días Aptitud para principiantes 70/100
dotnetdork/Labyrinth#119 ·
Los mantenedores suelen responder en 1 día
Todos los issues de dotnetdork/Labyrinth
Issues similares
-
bug needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
actions/setup-node#1659 ·
Los mantenedores suelen responder en 1 día
-
regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ranxianglei/billion-context#5430 ·
Los mantenedores suelen responder en 1 día
-
dependencies Difficulty: Easy Good First Issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
rubyforgood/casa#7325 ·
Los mantenedores suelen responder en 1 día
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputPosiblemente ocupada @ravikumar266 la tomó hoy. Abiertoarea/sdk kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kubeflow/pipelines#15347 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
laravel/nightwatch#445 ·
Los mantenedores suelen responder en 1 día