Skip to content

Ativa na pipeline de testes verificação com psalm e cypress #43

Ativa na pipeline de testes verificação com psalm e cypress

Ativa na pipeline de testes verificação com psalm e cypress #43

Workflow file for this run

name: Testing
on:
pull_request:
branches:
- develop
jobs:
CODE_STYLE:
name: CODE STYLE
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run PHP-CS-Fixer
uses: erkenes/php-cs-fixer-action@main
with:
args: '--dry-run --diff -vvv'
- name: Run Psalm
uses: docker://ghcr.io/psalm/psalm-github-actions
with:
security_analysis: true
CODE_TESTS:
name: CODE TESTS
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Baixando codigo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Configuração de valores padrões
run: |
cp .env.sample .env
- uses: hoverkraft-tech/[email protected]
with:
compose-file: |
docker-compose.yaml
docker-compose.dev.yaml
services: "web"
up-flags: "-d --wait"
down-flags: "-v"
- name: Atualização da estrutura do banco de dados
run: |
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web mkdir var/logs/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web mkdir var/private-files/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web chmod 777 var/logs/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web chmod 777 var/private-files/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web chmod 777 var/sessions/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web chmod 777 var/DoctrineProxies/
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml exec web ./scripts/db-update.sh
env:
APP_MODE: development
- name: Testes Unitários com PhpUnit
run: |
docker compose exec web ./vendor/bin/phpunit -c phpunit.xml --coverage-clover ./coverage.xml
- name: Testes de integração com Cypress
uses: cypress-io/github-action@v6
with:
config: '{"e2e":{"viewportWidth":375,"viewportHeight":667}}'
wait-on: "http://localhost:4242"
wait-on-timeout: 120
browser: chrome
record: true
parallel: true
group: "UI - Chrome - Mobile"
#spec: src/cypress/*
#config-file: src/cypress/cypress.config.js
working-directory: src
env:
# CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
# CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# Recommended: pass the GitHub token lets this action correctly
# determine the unique run id necessary to re-run the checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Save build folder
uses: actions/upload-artifact@v4
with:
name: screenshots
if-no-files-found: error
path: src/cypress/screenshots
# - name: Install composer and dependencies
# uses: php-actions/composer@v6
# with:
# php_extensions: pdo_pgsql zip intl gd mbstring curl xml
# - name: PHPUnit Tests Mapas
# uses: php-actions/phpunit@v3
# env:
# XDEBUG_MODE: coverage
# with:
# version: 10.5
# php_version: 8.2
# configuration: phpunit.xml
# php_extensions: pdo_pgsql zip intl gd mbstring curl xml
- name: Upload to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODE_COV_TOKEN }}
files: ./coverage.xml
verbose: true