Skip to content

Commit 901a144

Browse files
committed
docs: remove Ubuntu references from root docs and copilot
1 parent bd34ddf commit 901a144

7 files changed

Lines changed: 153 additions & 148 deletions

File tree

.github/copilot-instructions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Project Overview
44

5-
This is an Ansible-based laptop provisioning system for Adhoc, designed for clean Debian 12+ and Ubuntu 22.04+ installations. It automates complete workstation setup through hierarchical profile-based roles.
5+
This is an Ansible-based laptop provisioning system for Adhoc, designed for clean Debian 13 installations. It automates complete workstation setup through hierarchical profile-based roles.
66

77
## Architecture: Hierarchical Role System
88

@@ -89,7 +89,7 @@ ansible-playbook local.yml --tags "deploy" -K --verbose
8989

9090
### Variable patterns
9191
- **User detection**: `remote_regular_user: "{{ ansible_env.SUDO_USER | default(ansible_user) }}"` - critical for running tasks as the actual user when using `sudo`
92-
- **Distribution-specific logic**: Use `ansible_facts['distribution']` and `ansible_facts['distribution_version']` for Debian vs Ubuntu differences
92+
- **Distribution version logic**: Use `ansible_facts['distribution_version']` for Debian version-specific behavior
9393
- **Package exclusions**: `packages_exclude_debian_13` pattern for distro-specific package availability
9494
- Variables prefixed with role name: `developer_*`, `funcional_*`, `sysadmin_*`
9595

@@ -139,7 +139,7 @@ Use "check-then-install" pattern (see `roles/developer/tasks/code.yml`):
139139
## Testing Strategy (Progressive Approach)
140140

141141
### Current state
142-
Manual testing in VirtualBox VMs with clean Debian/Ubuntu installations.
142+
Manual testing in VirtualBox VMs with clean Debian 13 installations.
143143

144144
### Planned automated testing with Molecule
145145
**Goal**: Systematize testing to avoid exclusive reliance on manual VirtualBox testing.
@@ -148,7 +148,7 @@ Manual testing in VirtualBox VMs with clean Debian/Ubuntu installations.
148148
1. **Phase 1 - Basic Molecule setup**:
149149
- Install Molecule: `pip install molecule molecule-plugins[docker]`
150150
- Create initial scenario for `funcional` role: `molecule init scenario -r funcional`
151-
- Configure `molecule/default/molecule.yml` with Debian 12 and Ubuntu 22.04 containers
151+
- Configure `molecule/default/molecule.yml` with Debian 13 containers
152152
- Write basic verification tests in `molecule/default/verify.yml` (check key packages installed)
153153

154154
2. **Phase 2 - Expand coverage**:
@@ -158,7 +158,7 @@ Manual testing in VirtualBox VMs with clean Debian/Ubuntu installations.
158158
- Service states (Docker, SSH)
159159
- File/directory presence and permissions
160160
- User configurations (Git, VS Code extensions)
161-
- Test distribution-specific logic (Debian vs Ubuntu differences)
161+
- Test Debian version-specific behavior
162162

163163
3. **Phase 3 - CI/CD integration**:
164164
- Set up GitHub Actions workflow (`.github/workflows/molecule.yml`)

QUICKSTART_TESTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ source .venv/bin/activate
2020
### 3. Ejecutar tu primer test
2121

2222
```bash
23-
# Test del rol funcional en Debian 12 y Ubuntu 22.04
23+
# Test del rol funcional en Debian 13
2424
./test-role.sh funcional
2525
```
2626

README.md

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
![Molecule CI](https://github.com/ingadhoc/ansible_notebooks/workflows/Molecule%20CI/badge.svg?branch=main)
44
![License](https://img.shields.io/badge/license-MIT-blue.svg)
55
![Ansible](https://img.shields.io/badge/ansible-%3E%3D2.15-blue.svg)
6-
![Platforms](https://img.shields.io/badge/platforms-Debian%2012%2B%20%7C%20Ubuntu%2022.04%2B-blue.svg)
6+
![Platforms](https://img.shields.io/badge/platforms-Debian%2013-blue.svg)
77

88
## 🎯 Resumen Ejecutivo
99

@@ -15,11 +15,11 @@ Para información interna más detallada sobre los objetivos, procedimientos y p
1515

1616
---
1717

18-
## Filosofía y Distribuciones Soportadas
18+
## Filosofía y Distribución Soportada
1919

20-
Este playbook está diseñado para funcionar sobre instalaciones limpias de **Debian (12+)** y **Ubuntu (22.04+)**.
20+
Este playbook está diseñado para funcionar sobre instalaciones limpias de **Debian 13 (Trixie)**.
2121

22-
Priorizamos el uso de Debian para mantener un sistema base limpio, estable y libre de las decisiones comerciales de Canonical (como la imposición de `snap`). Sin embargo, el playbook es totalmente compatible con las versiones LTS de Ubuntu.
22+
Priorizamos el uso de Debian para mantener un sistema base limpio, estable y libre de las decisiones comerciales de Canonical (como la imposición de `snap`).
2323

2424
> ⚠️ **Entorno de escritorio requerido: GNOME**
2525
> Los perfiles `funcional`, `developer` y `sysadmin` configuran extensiones, ajustes visuales y comportamientos específicos de **GNOME**. El playbook asume que GNOME está instalado y activo como entorno de escritorio. Instalar sobre KDE u otro entorno producirá errores en las tareas de configuración de escritorio.
@@ -234,7 +234,7 @@ Este proyecto utiliza **Molecule** con Docker para tests automatizados. Los test
234234
### Ejecutar tests localmente
235235
236236
```bash
237-
# Crear un entorno virtual (recomendado, evita PEP 668 en Debian/Ubuntu)
237+
# Crear un entorno virtual (recomendado, evita PEP 668 en Debian)
238238
python3 -m venv .venv
239239
source .venv/bin/activate
240240
@@ -257,15 +257,13 @@ ansible-galaxy install -r collections/requirements.yml
257257
./test-role.sh --lint
258258
```
259259
260-
### Testing con múltiples distribuciones
260+
### Distribución soportada
261261
262-
Por defecto, los tests ejecutan en **Debian 13** y **Ubuntu 24.04**. Para probar con distribuciones adicionales:
262+
Los tests ejecutan en **Debian 13 (Trixie)**.
263263
264264
```bash
265-
# Usar el Makefile para comandos específicos
266-
make test-ubuntu2404 # Test solo Ubuntu 24.04 LTS
267-
make test-debian13 # Test solo Debian 13 (si disponible)
268-
make test-all-distros # Test todas las distros configuradas
265+
# Test solo Debian 13
266+
make test-debian13
269267
270268
# Ver plataformas disponibles
271269
make list-platforms
@@ -274,20 +272,11 @@ make list-platforms
274272
make docker-pull-images
275273
```
276274
277-
**Distribuciones soportadas:**
278-
- ✅ **Debian 13 (Trixie)** - Producción, por defecto
279-
- ✅ **Ubuntu 24.04 LTS (Noble)** - Producción, por defecto
280-
- ✅ **Debian 12 (Bookworm)** - Producción, soportado (legacy)
281-
- ✅ **Ubuntu 22.04 LTS (Jammy)** - Producción, soportado (legacy)
282-
283-
Para agregar más distribuciones a tus tests, consulta:
284-
- [docs/MOLECULE_GUIDE.md](docs/MOLECULE_GUIDE.md) - Sección "Testing con Múltiples Distribuciones"
285-
- [docs/MULTI_DISTRO_TESTING.md](docs/MULTI_DISTRO_TESTING.md) - Guía completa multi-distro
286-
- [docs/molecule-multi-distro-example.yml](docs/molecule-multi-distro-example.yml) - Configuración de ejemplo
275+
Para más información sobre testing, consulta:
276+
- [docs/TESTING.md](docs/TESTING.md) - Guía completa de testing con Molecule
277+
- [docs/MOLECULE_GUIDE.md](docs/MOLECULE_GUIDE.md) - Guía detallada de Molecule
287278
- [roles/funcional/README.md](roles/funcional/README.md) - Testing específico del rol
288279
289-
Para más información sobre testing, consulta [docs/TESTING.md](docs/TESTING.md).
290-
291280
---
292281
293282
## 🔧 Troubleshooting

TESTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ molecule test --scenario-name default
6666

6767
### Distribución de Test
6868

69-
Los escenarios de Molecule testean Debian 13. Ubuntu ya no forma parte del CI.
69+
Los escenarios de Molecule testean Debian 13 (Trixie).
7070

7171
## Estructura de Tests
7272

docs/debian-only-cleanup.md

Lines changed: 129 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,31 @@ o se elimina la condición si solo queda Debian.
99

1010
---
1111

12+
## 📊 Estado actual
13+
14+
**Completado** (commit `bd34ddf` + posteriores):
15+
- ✅ Grupos 1-5, 7, 8 — código activo de los roles `funcional` y `developer`
16+
- ✅ Grupo 9 — Molecule converge.yml en 3 roles
17+
- ✅ Grupo 12 — copilot-instructions.md
18+
- ✅ Grupo 13 — Docs raíz (README, specifications, TESTING, QUICKSTART, funcional/README)
19+
-**Bonus:** fix del callback `community.general.yaml` (removido en 12.0.0) en los 4 molecule.yml
20+
- ✅ Test `make test-funcional` pasa verde
21+
22+
**Pendiente:**
23+
- ⏳ Grupo 10 — `Makefile` (sacar targets `test-ubuntu*`, limpiar `docker-pull-images`)
24+
- ⏳ Grupo 11 — `.github/workflows/molecule.yml` (sacar matriz Ubuntu del CI)
25+
- ⏳ Grupo 14 — Docs en `docs/`:
26+
- Borrar 2 obsoletos (`MULTI_DISTRO_TESTING.md`, `molecule-multi-distro-example.yml`)
27+
- Editar 5 activos (`MOLECULE_GUIDE.md`, `TESTING.md`, `FREELANCE_DEVELOPER.md`, `PROFILES.md`, `TEST_RUN_NOTES.md`)
28+
- ⏳ Grupo 6 — `local_dns.yml` (decisión pendiente, dejado a propósito por ahora)
29+
- ⏳ Validación CI: `make test-developer` y `make test-sysadmin`
30+
-**Validación end-to-end en PC física o VM con Debian 13 limpio**
31+
- Molecule (Docker) NO testea GNOME, dconf, branding visual, sessions Xorg, GDM, ni componentes con GUI
32+
- Es la única forma de validar que el playbook completo funciona en una instalación real
33+
- Probar los 3 perfiles: `funcional`, `developer`, `sysadmin`
34+
35+
---
36+
1237
## GRUPO 1 — `roles/funcional/vars.yml`
1338
**Tipo:** Borrado puro de variables muertas. Sin riesgo, nada las referencia en Debian.
1439

@@ -117,49 +142,72 @@ when: ansible_facts['distribution'] == 'Ubuntu' ← bloque entero saltea en De
117142
## GRUPO 12 — `.github/copilot-instructions.md`
118143
**Tipo:** Actualizar instrucciones para Copilot para reflejar solo-Debian.
119144

120-
- [ ] Quitar menciones a Ubuntu en las descripciones del proyecto
121-
- [ ] Actualizar ejemplos que comparen Debian vs Ubuntu
122-
- [ ] Sacar lógica específica de versiones Ubuntu (22.04, 24.04)
145+
- [x] Quitar mención "Debian 12+ and Ubuntu 22.04+" → "Debian 13"
146+
- [x] Reescribir "Debian vs Ubuntu differences" → "Debian version-specific behavior"
147+
- [x] "Manual testing in VirtualBox VMs with Debian/Ubuntu" → "with Debian 13"
148+
- [x] "Debian 12 and Ubuntu 22.04 containers" → "Debian 13 containers"
149+
- [x] "Test distribution-specific logic (Debian vs Ubuntu differences)" → "Test Debian version-specific behavior"
123150

124151
---
125152

126153
## GRUPO 13 — Documentación raíz
127154
**Tipo:** Actualizar docs para usuarios, sacar Ubuntu como distro soportada.
128155

129-
- [ ] `README.md` — quitar badges, secciones y referencias a Ubuntu (8 refs)
130-
- [ ] `specifications.md` — actualizar compatibilidad y versiones soportadas (3 refs)
131-
- [ ] `TESTING.md` — actualizar matriz de testing (1 ref)
132-
- [ ] `QUICKSTART_TESTING.md` — actualizar guía rápida (1 ref)
133-
- [ ] `roles/funcional/README.md` — limpiar README del rol (11 refs)
156+
- [x] `README.md` — badge actualizado a "Debian 13", sección "Filosofía" reescrita, secciones de testing multi-distro eliminadas
157+
- [x] `specifications.md` — "Debian-First" → "Debian-Only", plataformas simplificadas
158+
- [x] `TESTING.md` — eliminada la mención a Ubuntu, "Debian 13 (Trixie)" como única distro
159+
- [x] `QUICKSTART_TESTING.md` — comando ejemplo actualizado a "Debian 13"
160+
- [x] `roles/funcional/README.md` — requisitos simplificados, sección "Testing con distribuciones adicionales" eliminada (~80 líneas Ubuntu-específicas)
134161

135162
---
136163

137164
## GRUPO 14 — Documentación en `docs/`
138-
**Tipo:** Limpiar/decidir qué hacer con docs que mencionan Ubuntu.
165+
**Tipo:** Limpiar/borrar docs según relevancia.
166+
167+
### Para borrar (obsoletos)
168+
- [ ] `docs/MULTI_DISTRO_TESTING.md` (16 refs) — guía completa multi-distro, ya no aplica
169+
- [ ] `docs/molecule-multi-distro-example.yml` (16 refs) — ejemplo YAML multi-distro
170+
171+
### Para editar (docs activos)
172+
- [ ] `docs/MOLECULE_GUIDE.md` (26 refs) — guía de Molecule
173+
- [ ] `docs/TESTING.md` (4 refs)
174+
- [ ] `docs/FREELANCE_DEVELOPER.md` (2 refs)
175+
- [ ] `docs/PROFILES.md` (1 ref)
176+
- [ ] `docs/TEST_RUN_NOTES.md` (1 ref)
139177

140-
Archivos afectados:
141-
- `docs/MOLECULE_GUIDE.md`
142-
- `docs/MULTI_DISTRO_TESTING.md` — ¿se borra entero? ya no es multi-distro
143-
- `docs/PROFILES.md`
144-
- `docs/LESSONS_LEARNED.md`
145-
- `docs/MEJORAS_ROL_FUNCIONAL.md`
146-
- `docs/CHANGELOG_MEJORAS_FUNCIONAL.md`
147-
- `docs/FREELANCE_DEVELOPER.md`
148-
- `docs/TESTING.md`
149-
- `docs/TEST_RUN_NOTES.md`
150-
- `docs/TESTING_IMPLEMENTATION_SUMMARY.md`
151-
- `docs/molecule-multi-distro-example.yml` — ¿borrar? es ejemplo multi-distro
178+
### Dejar como historia (NO tocar — historial del proyecto)
179+
- `docs/CHANGELOG_MEJORAS_FUNCIONAL.md` (5 refs)
180+
- `docs/MEJORAS_ROL_FUNCIONAL.md` (5 refs)
181+
- `docs/TESTING_IMPLEMENTATION_SUMMARY.md` (3 refs)
182+
- `docs/LESSONS_LEARNED.md` (2 refs)
152183

153-
- [ ] Revisar cada uno y actualizar/borrar según corresponda
184+
### No tocar (intencional)
185+
- `docs/debian-only-cleanup.md` — es este mismo plan
154186

155187
---
156188

157-
## PENDIENTE — Verificación CI
189+
## PENDIENTE — Verificación CI y end-to-end
158190

159-
- [ ] Correr `molecule test` en rol `funcional` y verificar que pasa verde
160-
- [ ] Correr `molecule test` en rol `developer` y verificar que pasa verde
191+
### Validación con Molecule (Docker, sin GUI)
192+
- [x] Correr `molecule test` en rol `funcional` — pasa verde ✓
193+
- [ ] Correr `molecule test` en rol `developer`
194+
- [ ] Correr `molecule test` en rol `sysadmin`
161195
- [ ] Verificar que el workflow de GitHub Actions pasa después de los cambios CI
162196

197+
### Validación end-to-end (PC física o VM con GUI)
198+
**Imprescindible antes de mergear a main.** Molecule no cubre:
199+
- Configuración de GNOME (dconf, extensiones, atajos)
200+
- Branding (wallpapers, temas, layout del dock)
201+
- Sesiones Xorg/GDM3, AccountsService
202+
- Instalación real de paquetes con GUI (Chrome, VS Code, flameshot, etc.)
203+
204+
- [ ] Probar perfil `funcional` en PC física o VM Debian 13 limpio
205+
- [ ] Probar perfil `developer` en PC física o VM Debian 13 limpio
206+
- [ ] Probar perfil `sysadmin` en PC física o VM Debian 13 limpio
207+
- [ ] Verificar idempotencia: correr el playbook 2 veces, segunda corrida debe ser `changed=0` (excluyendo tareas que tocan tiempo/random)
208+
- [ ] Verificar que GNOME extensiones se instalan correctamente
209+
- [ ] Verificar que Xorg se fuerza correctamente (sesión activa post-reinicio)
210+
163211
---
164212

165213
## Orden sugerido de ejecución
@@ -176,10 +224,63 @@ Archivos afectados:
176224
✅ GRUPO 9 → Molecule converge.yml (3 archivos de test)
177225
⏳ GRUPO 10 → Makefile (sacar targets Ubuntu)
178226
⏳ GRUPO 11 → workflows/molecule.yml (sacar matriz Ubuntu)
179-
GRUPO 12 → copilot-instructions (actualizar contexto IA)
180-
GRUPO 13 → Docs raíz (README, specs, testing)
181-
⏳ GRUPO 14 → Docs en docs/ (limpiar guides y notes)
227+
GRUPO 12 → copilot-instructions (actualizar contexto IA)
228+
GRUPO 13 → Docs raíz (README, specs, testing)
229+
⏳ GRUPO 14 → Docs en docs/ (borrar 2 obsoletos + editar 5 activos)
182230
```
183231
184232
Después de cada grupo de código: correr `molecule test` del rol afectado.
185233
Los grupos 12-14 son solo documentación y no requieren validación CI.
234+
235+
---
236+
237+
## 🚀 Próximos pasos sugeridos
238+
239+
**Orden recomendado para terminar la limpieza:**
240+
241+
1. **Commit de lo hecho ahora** (Grupos 12 + 13) — chunk coherente "docs cleanup raíz + copilot"
242+
```bash
243+
git add .github/copilot-instructions.md README.md specifications.md TESTING.md QUICKSTART_TESTING.md roles/funcional/README.md docs/debian-only-cleanup.md
244+
git commit -m "docs: remove Ubuntu references from root docs and copilot instructions"
245+
```
246+
247+
2. **Grupo 14 — Docs en `docs/`** (también solo texto, sin riesgo)
248+
- Borrar 2 obsoletos con `git rm`
249+
- Editar 5 activos
250+
- Commit aparte: `docs: clean Ubuntu references in docs/ directory`
251+
252+
3. **Grupo 10 — Makefile** (sacar targets Ubuntu)
253+
- Commit: `chore: remove Ubuntu targets from Makefile`
254+
255+
4. **Grupo 11 — workflows/molecule.yml** (sacar matriz Ubuntu del CI de GitHub Actions)
256+
- ⚠️ **NO TOCAR** `runs-on: ubuntu-latest` (es el runner OS, no la distro testada)
257+
- Commit: `ci: remove Ubuntu from molecule test matrix`
258+
259+
5. **Tests Molecule** (Docker, sin GUI)
260+
```bash
261+
make test-developer # ~10 min
262+
make test-sysadmin # ~10 min
263+
```
264+
265+
6. **Validación end-to-end en PC física o VM** ⚠️ **IMPRESCINDIBLE**
266+
- Levantar una VM (VirtualBox/KVM) con **Debian 13 limpio** o usar una notebook formateada
267+
- Correr el bootstrap completo:
268+
```bash
269+
curl -L -o adhoc-ansible https://raw.githubusercontent.com/ingadhoc/ansible_notebooks/<branch>/launch_project.sh
270+
chmod +x adhoc-ansible
271+
sudo ./adhoc-ansible
272+
```
273+
- Probar cada perfil (`funcional`, `developer`, `sysadmin`) y verificar:
274+
- Sin errores Ansible al correr
275+
- Idempotencia: segunda corrida con `changed=0`
276+
- GNOME: extensiones instaladas, atajos funcionando, branding aplicado
277+
- Sesión Xorg activa después de reiniciar
278+
- VS Code, Chrome, Docker funcionando
279+
280+
7. **Push de la rama y abrir PR**
281+
```bash
282+
git push -u origin chore/debian-only-cleanup
283+
gh pr create --title "Migrate to Debian-only support" --body "..."
284+
```
285+
286+
8. **Grupo 6 — `local_dns.yml`** — pendiente de decisión funcional (NO bloquea el PR)

0 commit comments

Comments
 (0)