Ejecutando pruebas automáticamente con GitHub Actions

Componentes para Laravel

En esta lección del curso de Creación de componentes para Laravel aprenderás cómo utilizar GitHub Actions para que las pruebas de tus componentes y aplicaciones se ejecuten automáticamente cada vez que se realice un commit o que alguien colabore con un pull request a tu repositorio.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Guía de contribución – Documentación de Laravel 6

Reportes de errores

Para fomentar la colaboración activa, Laravel alenta fuertemente el uso de pull requests, no solo reportes de errores. «Los reportes de errores» pueden además ser enviados en el formulario de un pull request que contenga un test fallido.

Sin embargo, si tu archivo reportar un error, tu issue debería contener un título y una clara descripción del problema. Deberías además incluir tanta información relevante como sea posible y un ejemplo de código que demuestre el problema. La meta de un reporte de error es hacerlo fácil para ti mismo – y para otros – para replicar el error y desarrollar una solución.

Recuerda, los reportes de errores son creados con la esperanza de que otros con el mismo problema puedan colaborar contigo en la solución. No esperes que automáticamente el reporte del error recibirá alguna actividad o que los otros saltarán a repararlo. Crear un reporte de error sirve para ayudarte a ti mismo y a otros a iniciar el camino de reparar el problema.

El código fuente de Laravel es manejado en GitHub, y allí están los repositorios para cada uno de los proyectos de Laravel:

importante sobre la traducción
Los reportes sobre errores o detalles encontrados en esta traducción deben ser realizados en el repositorio oficial de la traducción.

Discusión sobre el desarrollo del núcleo

Tu puedes proponer nuevas funcionalidades o mejoras del comportamiento existente de Laravel en el tablero de ideas de ideas de Laravel. Si propones una nueva funcionalidad, esté dispuesto a implementar al menos parte del código que se necesitaría para completar la funcionalidad.

Discusiones informales sobre errores, nuevas funcionalidades e implementación de existentes funcionalidades toman lugar en el canal #internals del Servidor Discord de Laravel. Taylor Otwell, el encargado de Laravel, está normalmente presente en el canal los días de semana de 8:00am-5:00pm (UTC-06:00 o América/Chicago) y esporádicamente está presente en el canal a otras horas.

¿Cuál rama?

Todas las correcciones de errores deben ser enviadas a la última rama estable o a la actual rama LTS. Las correcciones de errores nunca deben ser enviadas a la rama master a menos que ellos reparen funcionalidades que existan solo en los próximos lanzamientos.

Funcionalidades menores que son totalmente compatible con la versión actual de Laravel pueden enviarse a la última rama estable.

Las nuevas funcionalidades mayores deben siempre ser enviadas a la rama master, la cual contiene el próximo lanzamiento de Laravel.

Si no estás seguro si tu funcionalidad califica como mayor o menor, por favor pregúntale a Taylor Otwell en el canal #internals del servidor Discord de Laravel.

Recursos compilados

Si estás enviando un cambio que afectará un archivo compilado, tal como muchos de los archivos en resources/sass o resources/js del repositorio laravel/laravel, no hagas commit de los archivos compilados. Debido a su gran tamaño, ellos no pueden realistamente ser revisado por el encargado. Esto podría ser usado como una forma de inyectar código malicioso dentro de Laravel. Para evitar esto de manera defensiva, todos los archivos compilados serán generados y confirmados por los mantenedores de Laravel.

Vulnerabilidades de seguridad

Si tu descubres una vulnerabilidad de seguridad dentro de Laravel, por favor envía un email a Taylor Otwell a [email protected]. Todas las vulnerabilidades de seguridad serán tratadas con prontitud.

Estilo de código

Laravel sigue el estándar de código PSR-2 y el estándar de auto carga PSR-4.

Ver post

Guía de Actualización – Documentación de Laravel 6

Cambios de alto impacto

Cambios de mediano impacto

Cambios de bajo impacto

Actualizando a 6.0 desde 5.8

Tiempo de actualización estimado: una hora

Intentamos documentar cada posible cambio de ruptura (breaking change). Dado que algunos de estos cambios de ruptura se encuentran en las partes oscuras del framework, solo una parte de estos cambios puede afectar tu aplicación.

Ver post

Notas de Lanzamiento – Documentación de Laravel 6

Esquema de versiones

El esquema de versiones de Laravel mantiene la siguiente convención: paradigma.mayor.menor. Los lanzamientos mayores del framework se publican cada seis meses (febrero y agosto), mientras que los lanzamientos menores se liberan cada semana. Los lanzamientos menores nunca deben contener cambios de ruptura (breaking changes).

Cuando haces referencia al framework Laravel o sus componentes desde tu aplicación o paquete, debes utilizar siempre una restricción de versión como 5.7.*, ya que las versiones mayores de Laravel no incluyen cambios de ruptura. Sin embargo, nos esforzamos por asegurarnos siempre de que puedas actualizar a una nueva versión mayor en un día o menos.

Los lanzamientos de cambios de paradigma están separados por muchos años y representan cambios fundamentales en la arquitectura y las convenciones del framework. Actualmente, no hay ningún cambio de paradigma en desarrollo.

Política de soporte

Para las versiones LTS, como Laravel 5.5, se proporcionan correcciones de errores durante 2 años y correcciones de seguridad por 3 años. Estas versiones proporcionan la ventana más larga de soporte y mantenimiento. Para las versiones generales, las correcciones de errores se proporcionan durante 6 meses y las correcciones de seguridad durante 1 año. Para todos los componentes adicionales, incluyendo Lumen, solo la última versión recibe correcciones de errores.

Versión Lanzamiento Corrección de errores hasta Correcciones de seguridad hasta
5.0 4 de febrero, 2015 4 de agosto, 2015 4 de febrero, 2016
5.1 (LTS) 9 de junio, 2015 9 de junio, 2017 9 de junio, 2018
5.2 21 de diciembre, 2015 21 de junio, 2016 21 de diciembre, 2016
5.3 23 de agosto, 2016 23 de febrero, 2017 23 de agosto, 2017
5.4 24 de enero, 2017 24 de julio, 2017 24 de enero, 2018
5.5 (LTS) 30 de agosto, 2017 30 de agosto, 2019 30 de agosto, 2020
5.6 7 de febrero, 2018 7 de agosto, 2018 7 de febrero, 2019
5.7 4 de septiembre, 2018 4 de marzo, 2019 4 de septiembre, 2019
5.8 26 de febrero, 2019 26 de agosto, 2019 26 de febrero, 2020

Laravel 5.8

Laravel 5.8 continúa las mejoras realizadas en Laravel 5.7 con la introducción de relaciones «has-one-through» (uno a través) en Eloquent, mejoras a la validación de correos electrónicos, registro automático de políticas de autorización basado en convenciones, driver para caché y sesiones con DynamoDB, mejoras a la configuración de la zona horaria para las tareas programadas, soporte para asignar múltiples guards autenticación a canales de broadcast, cumplimento de PSR-16 para drivers de caché, mejoras al comando artisan serve, soporte para PHPUnit 8.0, soporte para Carbon 2.0, soporte para Pheanstalk 4.0 y una variedad de otras correcciones de errores y mejoras de usabilidad.

Ver post

Laravel Telescope – Documentación de Laravel 6

Introducción

Telescope de Laravel es un elegante asistente para depurar código para el framework de Laravel. Telescope proporciona información detallada de las solicitudes entrantes de tu aplicación, excepciones, entradas de log, consultas de bases de datos, trabajos en cola, correos, notificaciones, operaciones de caché, tareas programadas, valores de variables y mucho más. Telescope acompaña maravillosamente tu entorno de desarrollo de Laravel.

Instalación

Puedes usar Composer para instalar Telescope dentro de tu proyecto de Laravel:

Después de instalar Telescope, publica sus recursos usando el comando Artisan telescope:install. Después de instalar Telescope, también deberías ejecutar el comando migrate:

Actualizando Telescope

Si haces una actualización de Telescope, deberías volver a publicar los recursos de Telescope:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Laravel Socialite – Documentación de Laravel 6

Introducción

Además de la típica, autenticación basada en formularios, Laravel también proporciona una sencilla y conveniente forma de autenticar con proveedores OAuth usando Laravel Socialite. Actualmente Socialite soporta autenticación con Facebook, Twitter, LinkedIn, Google, Github, GitLab y Bitbucket.

Los adaptadores para otras plataformas son listados en el sitio web de Proveedores de Socialite manejado por la comunidad.

Actualizando Socialite

Al actualizar a una nueva versión principal de Socialite, es importante que revise cuidadosamente la guía de actualización.

Instalación

Para empezar con Socialite, usa Composer para agregar el paquete a las dependencias de tu proyecto:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Scout para Laravel – Documentación de Laravel 6

Introducción

Laravel Scout proporciona una sencilla solución para agregar búsquedas de texto completo a tus modelos Eloquent. Usando observadores de modelo, Scout mantendrá automáticamente tus índices de búsqueda sincronizados con tus registros de Eloquent.

Actualmente, Scout viene con el controlador (driver) Algolia; sin embargo, la escritura de controladores personalizados es simple y eres libre de extender Scout con tus propias implementaciones de búsqueda.

Instalación

Primero, instala Scout por medio del paquete administrador de Composer:

Después de instalar Scout, debes publicar la configuración de Scout usando el comando Artisan vendor:publish. Este comando publicará el archivo de configuración scout.php en tu directorio config:

Finalmente, agrega el trait Laravel\Scout\Searchable al modelo en el que te gustaría hacer búsquedas. Este trait registrará un observador de modelo para mantener sincronizado con tu controlador de búsqueda:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Laravel Passport – Documentación de Laravel 6

Introducción

Laravel ya hace fácil ejecutar la autenticación por medio de los tradicionales formularios de inicio de sesión, pero ¿Qué información tenemos sobre APIs? Las APIs típicamente usan tokens para autenticar a los usuarios y no mantienen el estado de sesión entre solicitudes. Laravel hace de la autenticación de API algo muy simple usando Passport de Laravel, el cual proporciona una implementación de servidor OAuth2 completa para tu aplicación Laravel en sólo minutos. Passport está construido sobre el servidor OAuth2 que es mantenido por Andy Millington y Simon Hamp..

Esta documentación asume que estás familiarizado con OAuth2. Si no sabes nada sobre OAuth2, considera familiarizarte con la terminología general y las características de Outh2 antes de continuar.

Actualizando Passport

Al actualizar a una nueva versión mayor de Passport, es importante que revises detalladamente la guía de actualización.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Laravel Horizon – Documentación de Laravel 6

Introducción

Horizon proporciona un bonito panel de control y sistema de configuración controlado por código para Laravel, potenciado por colas de Redis. Horizon te permite monitorear fácilmente métricas claves de tu sistema de colas tales como tasa de rendimiento, tiempo de ejecución y fallas de tareas.

Toda la configuración de tu worker es almacenada en un solo archivo de configuración sencillo, permitiendo que tu configuración quede en el código fuente donde tu equipo completo pueda colaborar.

Instalación

Debes asegurarte de que tu conexión de cola está establecido a redis en tu archivo de configuración queue.

Puedes usar Composer para instalar Horizon en tu proyecto de Laravel:

Después de instalar Horizon, publica sus assets usando el comando Artisan horizon:install:

Debes también crear la tabla failed_jobs que Laravel usará para almacenar cualquier trabajo en cola fallido:

Actualización de horizon

Al actualizar a una nueva versión mayor de Horizon, es importante que revises cuidadosamente la guía de actualización.

Además, debes volver a publicar los assets de Horizon:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Recibe consejos útiles y múltiples recursos directamente en tu correo