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

Feature/phpunit #28

Merged
merged 12 commits into from
Jul 16, 2024
56 changes: 56 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Testing

on:
pull_request:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lpirola analisando especificamente o momento de executar os testes fico pensando se faz sentido executar em todos os commits, dessa forma conseguimos identificar o problema de forma mais rápida. Vou mandar aqui alguns pontos positivos e negativos baseado das duas abordagens:

  1. Execução dos Testes em Cada Commit

Vantagens:

  • Detecta erros e regressões rapidamente, proporcionando feedback imediato ao desenvolvedor.
  • Garante que o código na branch esteja sempre em um estado funcional.

Desvantagens:

  • Pode ser demorado se o conjunto de testes for grande, afetando a produtividade.
  • Pode ser excessivo em projetos menores ou com commits muito frequentes.
  1. Execução dos Testes no Merge Request (Pull Request) para a develop

Vantagens:

  • Permite revisão de código com confiança de que as alterações não quebram funcionalidades existentes.
  • Centraliza a validação do código em momentos cruciais, como a integração de novas funcionalidades.

Desvantagens:

  • O feedback não é tão imediato quanto nos commits.
  • Problemas podem ser detectados tardiamente, após várias alterações já terem sido feitas.

Para adicionar em todos os commits podemos usar:

on: 
  push:
    # only trigger on branches, not on tags
    branches: '**'

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feito!

branches:
- "develop"

jobs:
phpunit:
strategy:
matrix:
operating-system: [ubuntu-20.04]
php-versions: ["8.2"]
runs-on: ${{ matrix.operating-system }}
steps:
- name: Checkout Code
uses: actions/checkout@v2
with:
submodules: recursive

- name: Add hosts to /etc/hosts
run: |
sudo echo "127.0.0.1 db" | sudo tee -a /etc/hosts

- uses: hoverkraft-tech/[email protected]
with:
compose-file: "dev/docker-compose.yml"
services: "db"
up-flags: "-d"
down-flags: "-v"

- name: Install composer and dependencies
uses: php-actions/composer@v6

- name: Run migrations
run: |
mkdir var/private-files/dbupdate_documento
php src/tools/apply-updates.php
env:
APP_MODE: development

- name: PHPUnit Tests
uses: php-actions/phpunit@v3
env:
XDEBUG_MODE: coverage
with:
configuration: phpunit.xml
php_extensions: pdo_pgsql xdebug mbstring curl xml
args: tests --coverage-clover ./coverage.xml

- name: Upload to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODE_COV_TOKEN }}
files: ./coverage.xml
verbose: true
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,9 @@ src/themes/BaseV1/assets/css/main.css.map
.phpunit.result.cache
.php-cs-fixer.cache
docker-data
media-query.js.LICENSE.txt
media-query.js.LICENSE.txt
public/assets/
src/.phpdoc
.phpunit*
.phpdocs*
.env
35 changes: 30 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,40 @@
{
"name": "mapasculturais/mapasculturais",
"version": "7.3.45",
"description": " Mapas Culturais é uma plataforma colaborativa que reúne informações sobre agentes, espaços, eventos e projetos culturais, fornecendo ao poder público uma radiografia da área de cultura e ao cidadão um mapa de espaços e eventos culturais da região",
"keywords": ["php", "docker", "gis", "postgres"],
"type": "project",
"license": "AGPL",
"require-dev": {
"phpunit/phpunit": "^10.5",
"squizlabs/php_codesniffer": "3.*",
"vimeo/psalm": "^5.17",
"zircote/swagger-php": "^4.8"
},
"require": {
"acelaya/doctrine-enum-type": "^2.3",
"php": "^7.3 || ^8",
"acelaya/doctrine-enum-type": "^2.5",
"akrabat/ip-address-middleware": "^2.1",
"creof/doctrine2-spatial": "^1",
"doctrine/annotations": "^2.0",
"doctrine/dbal": "^3.6",
"doctrine/orm": "2.16.*",
"firebase/php-jwt": "^6.4",
"league/csv": "^9.6.2",
"michelf/php-markdown": "1.*",
"monolog/monolog": "^3.4",
"mustache/mustache": "^2.11",
"nyholm/psr7": "^1.4",
"opauth/authentik": "*",
"opauth/logincidadao": "*",
"opauth/openid": "*",
"opauth/logincidadao" : "*",
"opauth/authentik" : "*",
"php-curl-class/php-curl-class": "^9.18",
"pomo/pomo": "^1.5",
"psy/psysh": "^0.11.12",
"respect/validation": "^2.2",
"sinergi/browser-detector": "^6.1",
"slim/psr7": "^1.6",
"slim/slim": "4.*",
"slim/slim": "^4.0",
"smottt/wideimage": "*",
"symfony/amazon-mailer": "^6.3",
"symfony/cache": "^6.2",
Expand All @@ -32,17 +49,25 @@
"symfony/console": "^6.4.6",
"symfony/serializer": "^7.0",
"symfony/property-access": "^7.0",
"symfony/validator": "^7.0"
"symfony/validator": "^7.0",
"symfony/console": "^6.4.6",
"league/csv": "^9.6.2"
},
"autoload": {
"psr-4": {
"App\\": "app/src",
"App\\Tests\\": "app/tests",
"MapasCulturaisTests\\": "tests/unit/classes",
"MapasCulturais\\": "src/core",
"MapasCulturais\\Modules\\": "src/modules",
"MapasCulturais\\Themes\\": "src/themes"
}
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"repositories": [
{
"type": "git",
Expand Down
Loading
Loading