Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatizar ayudas a la revisión #46

Open
astrojuanlu opened this issue Apr 20, 2018 · 19 comments
Open

Automatizar ayudas a la revisión #46

astrojuanlu opened this issue Apr 20, 2018 · 19 comments
Milestone

Comments

@astrojuanlu
Copy link
Member

Cosas que se me ocurren después de #44:

  • Comprobar la ortografía
  • Comprobar que hay un summary
  • Tener algo tipo staging.pybonacci.org donde se despliega el último pull request para poder ver el resultado sin tener que bajarse el código

¿Qué más echáis en falta?

@kikocorreoso
Copy link
Member

kikocorreoso commented Apr 20, 2018

En WP la edición era manual también. Era más cómoda porque lo hacías en el mismo site pero no mucho más.

Comprobar la ortografía

Para el tema de ortografía me parece que no hay muchas opciones.

Comprobar que hay un summary

En el notebook se pueden añadir metadatos globales. Podemos meter ahí lo que quieren meter los autores (tags, summary,...) y que algún programa y la CI se dedique a ver si eso aparece y si no está que directamente mande mensaje en el PR con lo que falta.

Tener algo tipo staging.pybonacci.org donde se despliega el último pull request para poder ver el resultado sin tener que bajarse el código

No lo veo necesario. Si algo aparece con una érrata pues se commitea corregido y listo. Yo, ahora que he revisado los posts antiguos, además de que me dan vergüenza ajena 😃 me he encontrado multitud de erratas (y nadie se ha quejado después de años).

No se me ocurren muchas cosas pero la idea era que fuera super KISS... 😗

@astrojuanlu
Copy link
Member Author

Queremos que sea KISS, y también queremos quitarnos trabajo manual... Todo depende de dónde pongas el KISS :)

@asdf8601
Copy link
Contributor

asdf8601 commented Apr 21, 2018

Os comento una idea por si os puede ser de ayuda. No se si habéis pensado meter un template en los PR para colaboradores, como tienen en Pandas:

Cuya adaptación imagino que podría ser algo como:

  • Revisión de ortografía
  • Añadir summary
  • lo que sea...

Esto les sirve tanto al colaborador como a los editores.

@astrojuanlu
Copy link
Member Author

¡Buena idea @mmngreco! Nos lo dejamos como tarea pendiente, es un buen primer paso.

@asdf8601
Copy link
Contributor

Me he topado con este repo que parece que hace spell checking en español :

@manugarri
Copy link
Contributor

@mmngreco me parece genia la idea de la plantilla!

@kikocorreoso
Copy link
Member

He creado una plantilla aquí:

https://github.com/Pybonacci/pybonacci.github.io/blob/sources/.github/PULL_REQUEST_TEMPLATE.md

Revisadla y modificadla como consideréis.

@Juanlu001 No entiendo muy bien:

grep PELICAN_BEGIN_SUMMARY + https://stackoverflow.com/a/38550849/554319

Lo de spell checking con código markdown o en notebook no sé muy bien si dará muchos falsos positivos. Habrá que refinarlo bastante y ver cómo va.

@mmngreco @manugarri @Juanlu001 @AlexS12 Se agradecen ideas y modificaciones para hacerlo lo más sencillo posible.

@astrojuanlu
Copy link
Member Author

Me parece muy bien la plantilla!

@kikocorreoso con el escueto comentario de grep ... quería decir que se puede automatizar un chequeo de tal forma que si el usuario ha escrito un artículo que no tiene resumen, lo avise. Pero eso se puede hacer en un futuro.

Cambio el título al issue y el milestone.

@astrojuanlu astrojuanlu added this to the Pybonacci 3.1 milestone May 6, 2018
@astrojuanlu astrojuanlu changed the title Ayudas a la revisión Automatizar ayudas a la revisión May 6, 2018
@manugarri
Copy link
Contributor

@kikocorreoso me parece genial la plantilla. Una cosa que les digo a mis alumnos siempre es que para comprobar que un notebook se ejecuta, hagan lo de "Restart and Run All". A lo mejor podemos añadir eso?

@kikocorreoso
Copy link
Member

kikocorreoso commented May 10, 2018

Podemos hacer obligatorio el incluir un environment.yml en cada aporte, de tal forma que se puede reproducir en mybinder por cualquier tercero o en travisCI o en gitlabCI usando jupyter y un conda env: https://nbconvert.readthedocs.io/en/latest/execute_api.html#executing-notebooks-from-the-command-line

Votad si os parece bien: @manugarri , @Juanlu001 , @AlexS12 Con dos votos positivos (yo no voto para que no haya empates) lo llevamos adelante para un milestone futuro.

Para la parte de mybinder (reproducibilidad) he abierto un issue en binderhub para ver si podríamos tener un detalle más fino a la hora de lanzar dependencias solo para un notebook específico (jupyterhub/binderhub#555).

Para la parte de CI, reproducir el notebook con un environment específico, se puede implementar a la de ya. Con travis no ando muy para allá, estoy usando bastante más gitlabCI. ¿Voluntarios?

Con las respuestas que me déis abro varios issues...

@astrojuanlu
Copy link
Member Author

Los environment.yml tienen un bug infame que los hace bastante problemáticos: conda/conda#5901

@kikocorreoso
Copy link
Member

hay otros 'dependencies' file en mybinder. No necesariamente debe ser un environment.yml. Se puede usar Dockerfile, requirements.txt,... ¿Para usos simples para validar algún notebook y ejecutarlo de forma remota en mybinder no lo ves viable? ¿Alternativas para poder automatizar un poco más al trabajo previo de validar que el notebook se ejecuta correctamente en el entorno propuesto?

@astrojuanlu
Copy link
Member Author

Depende del estándar de calidad que busquemos... Antes que exigirlo a otros intentaría que nosotros mismos seamos capaces de hacerlo 😉

@manugarri
Copy link
Contributor

la verdad es que seria genial poder reproducir posts, ... peero eso funcionaria con posts hechos con markdown? o solo con aquellos hechos desde un notebook?

@kikocorreoso
Copy link
Member

Como milestone a futuro, sin duda.

para los posts only .md no valdría esta solución. (ipymd, notedown?)

Se puede hacer como requerimiento opcional. Si aporta un fichero de dependencias se puede comprobar que el código ejecuta. Si no lo incluye se asume que el código se ejecuta pero no lo podemos validar automáticamente ni poner un enlace a mybinder.

@astrojuanlu
Copy link
Member Author

Por favor, concentrémonos en la prioridad número 1 que es tener un blog funcionando... Después de eso hablamos de lo que queráis 😓

@manugarri
Copy link
Contributor

me parece @Juanlu001 Te parece que creemos un issue aparte para el auto despliegue en mybinder o similar @kikocorreoso ? Si aceptamos la plantilla propuesta por @kikocorreoso , que más faltaria en esta tarjeta?

@astrojuanlu
Copy link
Member Author

@manugarri he estado a punto de abrir un issue aparte, pero creo que podemos usar este.

En jupyterhub/binderhub#555 nos han hecho algunas recomendaciones, pero creo no va a haber una solución que sirva a la vez para ver Pybonacci en mybinder.org y garantizar la reproducibilidad de cada uno de los artículos. Tenemos que pensar bien cómo enfocamos esto.

@kikocorreoso
Copy link
Member

Como comentan en ese hilo se puede tener un environment.yml generalista con numpy, scipy, matplotlib, pandas, notebook y luego podemos acompañar cada notebook con un requirements.txt con las dependencias extra y añadir una celda inicial en cada notebook que queramos mybindear que incluya:

!pip install -r requirements_especifico_de_este_notebook.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants