Skip to content

Commit fc7ede1

Browse files
authored
Merge pull request #39 from PythonMexico/staging
Staging
2 parents 0ade7e6 + 762cc43 commit fc7ede1

File tree

3 files changed

+234
-129
lines changed

3 files changed

+234
-129
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 64 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 182 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -54,42 +54,160 @@ Para mejoras:
5454

5555
## Pull Requests
5656

57-
### Antes de Enviar un PR
57+
### ⚠️ Flujo de Trabajo Obligatorio
58+
59+
**IMPORTANTE**: Todos los Pull Requests deben seguir este flujo:
60+
61+
```
62+
Tu rama → staging → main (producción)
63+
```
64+
65+
**⛔ NO SE ACEPTARÁN Pull Requests directos a `main`**
66+
67+
### Proceso de Contribución Paso a Paso
68+
69+
#### 1. Antes de Enviar un PR
5870

5971
1. Haz fork del repositorio
60-
2. Crea una rama para tu feature o fix
72+
2. Crea una rama descriptiva para tu feature o fix
6173
3. Realiza tus cambios siguiendo los estándares
62-
4. Prueba localmente antes de enviar
63-
5. Actualiza la documentación si es necesario
74+
4. **Asegúrate de usar Conventional Commits** (ver sección abajo)
75+
5. Prueba localmente antes de enviar
76+
6. Actualiza la documentación si es necesario
6477

65-
### Proceso de PR
78+
#### 2. Crear Pull Request hacia `staging`
6679

67-
1. Crea el PR con una descripción clara
80+
1. **Crea el PR apuntando a la rama `staging`** (NO a `main`)
6881
2. Usa las plantillas disponibles
69-
3. Vincula issues relacionados
70-
4. Responde a feedback de los revisores
71-
5. Mantén el PR actualizado con `main`
82+
3. **Completa TODA la información del formulario del PR**
83+
4. Vincula issues relacionados
84+
5. Incluye capturas de pantalla si hay cambios visuales
7285

73-
### Estructura del PR
86+
#### 3. Revisión en Staging
7487

75-
```markdown
76-
## Descripción
77-
Breve descripción de los cambios
88+
- Una vez aprobado tu PR, se hará merge a `staging`
89+
- Se desplegará automáticamente una **versión de prueba** en:
90+
- 🔗 **https://staging.pythoncdmx.org**
91+
- Esta versión incluye un banner que indica "STAGING ENVIRONMENT"
92+
- Podrás **validar tus cambios en línea** antes de producción
93+
94+
#### 4. Promoción a Producción
7895

79-
## Tipo de Cambio
80-
- [ ] Bug fix
81-
- [ ] Nueva característica
82-
- [ ] Mejora de documentación
83-
- [ ] Refactorización
96+
- Si todo está correcto en staging, el equipo core:
97+
- Creará un PR interno de `staging``main`
98+
- Desplegará los cambios a producción (https://pythoncdmx.org)
99+
- **Tú NO necesitas hacer este paso**, el equipo lo manejará
84100

85-
## Cambios Realizados
86-
- Lista de cambios específicos
101+
### Conventional Commits (Obligatorio)
87102

88-
## Pruebas
89-
- [ ] Pruebas locales ejecutadas
90-
- [ ] Documentación actualizada
103+
**Todos los commits deben seguir el estándar Conventional Commits:**
104+
105+
📚 **Documentación oficial**: https://www.conventionalcommits.org/es/v1.0.0/
106+
107+
#### Formato Base
91108

92-
## Capturas de Pantalla (si aplica)
109+
```
110+
<tipo>[ámbito opcional]: <descripción>
111+
112+
[cuerpo opcional]
113+
114+
[notas al pie opcionales]
115+
```
116+
117+
#### Tipos Permitidos
118+
119+
- **feat**: Nueva funcionalidad
120+
- **fix**: Corrección de bugs
121+
- **docs**: Cambios en documentación
122+
- **style**: Cambios de formato (espacios, puntos y comas, etc.)
123+
- **refactor**: Refactorización de código
124+
- **test**: Agregar o modificar tests
125+
- **chore**: Tareas de mantenimiento (dependencias, configuración, etc.)
126+
- **perf**: Mejoras de performance
127+
128+
#### Ejemplos de Commits Válidos
129+
130+
```bash
131+
# Nueva funcionalidad
132+
git commit -m "feat: agregar página de meetup marzo 2025"
133+
134+
# Corrección de bug
135+
git commit -m "fix: corregir enlaces rotos en página de comunidad"
136+
137+
# Documentación
138+
git commit -m "docs: actualizar guía de contribución con flujo staging"
139+
140+
# Estilo/diseño
141+
git commit -m "style: mejorar responsive design en tarjetas de participación"
142+
143+
# Refactorización
144+
git commit -m "refactor: optimizar código de generador de meetups"
145+
146+
# Con ámbito
147+
git commit -m "feat(meetups): agregar filtro por dificultad"
148+
149+
# Con cuerpo descriptivo
150+
git commit -m "feat: agregar sistema de búsqueda de charlas
151+
152+
- Implementar búsqueda por título
153+
- Agregar filtro por ponente
154+
- Incluir índice de palabras clave
155+
156+
Closes #123"
157+
```
158+
159+
#### ⚠️ Validación Automática
160+
161+
- El repositorio tiene **commit linting automático**
162+
- Si tus commits no siguen Conventional Commits, el CI **fallará**
163+
- Asegúrate de formatear correctamente tus mensajes
164+
165+
### Estructura del PR (Plantilla)
166+
167+
**Por favor, completa TODA esta información:**
168+
169+
```markdown
170+
## 📝 Descripción
171+
Breve descripción de los cambios realizados
172+
173+
## 🏷️ Tipo de Cambio
174+
- [ ] 🐛 Bug fix (corrección de errores)
175+
- [ ] ✨ Nueva característica (feature)
176+
- [ ] 📚 Mejora de documentación
177+
- [ ] ♻️ Refactorización
178+
- [ ] 🎨 Cambios de diseño/estilo
179+
- [ ] 📅 Nuevo meetup/evento
180+
181+
## 🔧 Cambios Realizados
182+
- Lista detallada de cambios específicos
183+
- Incluye archivos modificados si es relevante
184+
- Menciona componentes afectados
185+
186+
## ✅ Checklist de Verificación
187+
- [ ] He probado los cambios localmente (`mkdocs serve`)
188+
- [ ] Los commits siguen Conventional Commits
189+
- [ ] He actualizado la documentación (si aplica)
190+
- [ ] He probado en modo claro y oscuro
191+
- [ ] He probado en dispositivos móviles
192+
- [ ] Los enlaces funcionan correctamente
193+
- [ ] Las imágenes tienen texto alternativo
194+
- [ ] No hay errores en la consola del navegador
195+
196+
## 📸 Capturas de Pantalla (si aplica)
197+
Agrega screenshots si hay cambios visuales
198+
199+
### Antes
200+
[Imagen del estado anterior]
201+
202+
### Después
203+
[Imagen con los nuevos cambios]
204+
205+
## 🔗 Issues Relacionados
206+
Closes #[número del issue]
207+
Relates to #[número del issue]
208+
209+
## 📋 Notas Adicionales
210+
Cualquier información adicional relevante para los revisores
93211
```
94212

95213
## Estándares de Código
@@ -111,22 +229,12 @@ Breve descripción de los cambios
111229

112230
### Git
113231

114-
- Commits atómicos: un cambio lógico por commit
115-
- Mensajes descriptivos y claros
116-
- Ramas descriptivas y relacionadas con el cambio
117-
118-
### Ejemplo de Mensaje de Commit
119-
120-
```
121-
feat: agregar página de meetup enero 2025
232+
- **Commits atómicos**: Un cambio lógico por commit
233+
- **Conventional Commits obligatorio**: Todos los commits deben seguir el estándar
234+
- **Mensajes descriptivos**: Usa el formato `tipo(ámbito): descripción`
235+
- **Ramas descriptivas**: Nombres relacionados con el cambio (ej: `feat/nueva-busqueda`, `fix/enlaces-rotos`)
122236

123-
- Crear archivo docs/meetups/2025/enero-2025.md
124-
- Agregar metadatos del evento
125-
- Incluir información del ponente
126-
- Actualizar índice de meetups 2025
127-
128-
Closes #123
129-
```
237+
Ver la sección [Conventional Commits](#conventional-commits-obligatorio) para ejemplos detallados.
130238

131239
## Agregar Meetups
132240

@@ -185,11 +293,11 @@ mkdocs serve
185293
#### 1. Crear Rama de Trabajo
186294

187295
```bash
188-
# Actualiza tu main local
189-
git checkout main
190-
git pull upstream main
296+
# Actualiza tu rama staging local desde upstream
297+
git checkout staging
298+
git pull upstream staging
191299

192-
# Crea una nueva rama descriptiva
300+
# Crea una nueva rama descriptiva desde staging
193301
git checkout -b feature/nueva-funcionalidad
194302
# o
195303
git checkout -b fix/corregir-problema
@@ -205,45 +313,62 @@ git checkout -b meetup/agregar-evento-marzo-2025
205313
mkdocs serve
206314

207315
# Verifica que todo funcione en:
208-
# - Modo claro y oscuro
209-
# - Móvil y escritorio
210-
# - Todos los enlaces
316+
# ✅ Modo claro y oscuro
317+
# ✅ Móvil y escritorio
318+
# ✅ Todos los enlaces funcionan
319+
# ✅ Imágenes se cargan correctamente
320+
# ✅ No hay errores en consola
211321
```
212322

213-
#### 3. Commit y Push
323+
#### 3. Commit y Push (usando Conventional Commits)
214324

215325
```bash
216326
# Añade los cambios
217327
git add .
218328

219-
# Commit con mensaje descriptivo
329+
# Commit con mensaje siguiendo Conventional Commits
220330
git commit -m "feat: agregar meetup marzo 2025 con ponentes confirmados"
221331
# o
222332
git commit -m "fix: corregir enlaces rotos en página de comunidad"
223333
# o
334+
git commit -m "docs: actualizar guía de contribución"
335+
# o
224336
git commit -m "style: mejorar responsive design en tarjetas de participación"
225337

226338
# Push a tu fork
227339
git push origin nombre-de-tu-rama
228340
```
229341

230-
#### 4. Crear Pull Request
342+
#### 4. Crear Pull Request hacia `staging`
231343

232344
1. Ve a tu fork en GitHub
233345
2. Click en "Compare & pull request"
234-
3. **Título descriptivo**: Ej. "Agregar meetup marzo 2025 - IA en producción"
235-
4. **Descripción detallada**:
236-
- Qué cambios realizaste
237-
- Por qué son necesarios
346+
3. **⚠️ IMPORTANTE**: Asegúrate que el PR apunte a `staging` (NO a `main`)
347+
4. **Título descriptivo**: Sigue Conventional Commits en el título
348+
- Ejemplo: `feat: agregar meetup marzo 2025 - IA en producción`
349+
5. **Completa el formulario del PR** con TODA la información:
350+
- Descripción de cambios
351+
- Tipo de cambio (checkbox)
352+
- Lista de cambios realizados
353+
- Checklist de verificación completada
238354
- Screenshots si hay cambios visuales
239-
- Checklist de verificación
240-
5. Etiqueta apropiada: `meetup`, `enhancement`, `bug`, etc.
355+
- Issues relacionados
356+
6. Etiqueta apropiada: `meetup`, `enhancement`, `bug`, `documentation`, etc.
241357

242-
#### 5. Revisión y Merge
358+
#### 5. Revisión en Staging
243359

244360
- El equipo revisará tu PR
245361
- Responde a comentarios si los hay
246-
- Una vez aprobado, será merged al proyecto principal
362+
- Una vez aprobado, se hará **merge a `staging`**
363+
- El sitio se desplegará automáticamente en **https://staging.pythoncdmx.org**
364+
- Podrás ver tus cambios en línea y validarlos
365+
366+
#### 6. Promoción a Producción (Automático)
367+
368+
- Si todo está correcto en staging, el equipo core:
369+
- Creará un PR de `staging``main`
370+
- Tus cambios se desplegarán a producción
371+
- **No necesitas hacer nada más**, el equipo manejará este paso
247372

248373
### Comandos Útiles
249374

0 commit comments

Comments
 (0)