Comandos de desarrollo útiles
Referencia rápida para comandos de desarrollo comunes en omegaUp.
Linting y validación
Ejecutar todos los Linters
./stuff/lint.sh
git push.
Ubicación: Fuera del contenedor Docker, raíz del proyecto
Validar solo estilo
./stuff/lint.sh validate
Generar archivos i18n
./stuff/lint.sh --linters=i18n fix --all
*.lang basados en es.lang, en.lang y pt.lang.
Pruebas
Ejecute todas las pruebas de PHP
./stuff/runtests.sh
Ubicación: Dentro del contenedor Docker
Ejecutar archivo de prueba PHP específico
./stuff/run-php-tests.sh frontend/tests/controllers/$MY_FILE.php
Ejecutar pruebas de Cypress
npx cypress open
Requisitos previos: - Node.js instalado - NPM instalado -libasound2 (Linux)
Ubicación: Contenedor Docker exterior
Ejecutar pruebas unitarias de Vue (modo de vigilancia)
yarn run test:watch
Ejecutar archivo de prueba de Vue específico
./node_modules/.bin/jest frontend/www/js/omegaup/components/$MY_FILE.test.ts
Base de datos
Restablecer la base de datos al estado inicial
./stuff/bootstrap-environment.py --purge
Ubicación: Dentro del contenedor Docker
Aplicar migraciones de bases de datos
./stuff/db-migrate.py migrate --databases=omegaup,omegaup-test
Ubicación: Dentro del contenedor Docker
Actualizar esquema.sql desde Migraciones
./stuff/update-dao.sh
schema.sql al agregar nuevos archivos de migración.
Ubicación: Dentro del contenedor Docker
Validación de tipo PHP
Ejecute Psalm en todos los archivos PHP
find frontend/ \
-name *.php \
-and -not -wholename 'frontend/server/libs/third_party/*' \
-and -not -wholename 'frontend/tests/badges/*' \
-and -not -wholename 'frontend/tests/controllers/*' \
-and -not -wholename 'frontend/tests/runfiles/*' \
-and -not -wholename 'frontend/www/preguntas/*' \
| xargs ./vendor/bin/psalm \
--long-progress \
--show-info=false
Ubicación: Dentro del contenedor Docker
acoplador
Reiniciar el servicio Docker
systemctl restart docker.service
Ubicación: Contenedor Docker externo (Linux)
Acceder a la consola del contenedor
docker exec -it omegaup-frontend-1 /bin/bash
Referencia rápida
| Tarea | Comando | Ubicación |
|---|---|---|
| Código de pelusa | ./stuff/lint.sh |
Contenedor exterior |
| Ejecutar pruebas de PHP | ./stuff/runtests.sh |
Contenedor interior |
| Ejecutar ciprés | npx cypress open |
Contenedor exterior |
| Restablecer base de datos | ./stuff/bootstrap-environment.py --purge |
Contenedor interior |
| Migrar base de datos | ./stuff/db-migrate.py migrate |
Contenedor interior |
| Pruebas de vista | yarn run test:watch |
Contenedor interior |
Documentación relacionada
- Guía de pruebas - Documentación de pruebas completa
- Pautas de codificación - Estándares de código
- Configuración de desarrollo - Configuración del entorno