Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
data/
4 changes: 0 additions & 4 deletions .env.dist
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
## Options to pass to `docker compose up` command
#DOCKER_UP_OPTIONS= -d # -d will launch container in detached mode
#ENABLE_XDEBUG=true # enable the PHP xDebug extension

## App configuration
DATABASE_HOST=db
DATABASE_PORT=3306
Expand Down
38 changes: 22 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
composer-options: "--no-scripts"

- name: PHPStan
run: make phpstan
run: ./bin/phpstan --memory-limit=-1

functional:
name: "Functional tests"
Expand All @@ -77,16 +77,23 @@ jobs:
key: |
docker-${{ runner.os }}-${{ hashFiles(
'compose.yml',
'docker/dockerfiles/apachephp/Dockerfile',
'docker/dockerfiles/mysql/Dockerfile',
'docker/dockerfiles/mysqltest/Dockerfile'
'docker/apachephp/Dockerfile',
'docker/mysql/dev/Dockerfile',
'docker/mysql/test/Dockerfile'
) }}

- name: Delete symfony cache
run: rm -rf var/cache/test

- name: Tests - Functional
run: make test-functional
run: |
Copy link
Member

Choose a reason for hiding this comment

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

pourquoi avoir décomposé le lancement des tests ? Pour moi dans le fichier de configuration des actions/de la CI, on devrait avoir le moins de logique de lancement possible. Je pense qu'o devrait conserver le make test-functional.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

De mon point de vue, justement la CI doit être claire sur ce quelle fait sans devoir aller voir dans un autre fichier. D'autant plus que si on modifie une commande make pour des besoins en dev ça impact la CI sans le vouloir ou sans s'en rendre compte ce qui complexifie la lecture du projet. En plus ça complexifie aussi la compréhension du make file car il n'y a aucun moyen de savoir quelle commande est à exécuter et où ce qui peut être un frein pour de nouveau contributeur peut importe l'expérience de ce dernier.

make init-file
make init-folder
docker compose up -d
docker compose exec --user localUser apachephp composer install --no-scripts
docker compose run --rm node bash -c "npm install --legacy-peer-deps && npm run build"
cat ./.docker/mysql/reset-db.sql | docker compose run -T --rm db /opt/mysql_no_db
docker compose exec --user localUser apachephptest php bin/phinx migrate
docker compose exec --user localUser apachephptest php bin/phinx seed:run
docker compose exec --user localUser apachephptest ./bin/behat
cat var/logs/test.deprecations.log | cut -d "]" -f 2 | awk '{$$1=$$1};1' | sort | uniq -c | sort -nr > var/logs/test.deprecations_grouped.log

- uses: actions/upload-artifact@v4
with:
Expand All @@ -111,16 +118,15 @@ jobs:
key: |
docker-${{ runner.os }}-${{ hashFiles(
'compose.yml',
'docker/dockerfiles/apachephp/Dockerfile',
'docker/dockerfiles/mysql/Dockerfile',
'docker/dockerfiles/mysqltest/Dockerfile'
'docker/apachephp/Dockerfile',
'docker/mysql/dev/Dockerfile',
'docker/mysql/test/Dockerfile'
) }}

- name: Delete symfony cache
run: rm -rf var/cache/test

- name: Tests - Integration
run: make test-integration-ci
run: |
Copy link
Member

Choose a reason for hiding this comment

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

même remarque, on a un outil pour le lancer autant rester sur cette configuration dans le Makefile

Copy link
Contributor Author

Choose a reason for hiding this comment

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

De mon point de vue, justement la CI doit être claire sur ce quelle fait sans devoir aller voir dans un autre fichier. D'autant plus que si on modifie une commande make pour des besoins en dev ça impact la CI sans le vouloir ou sans s'en rendre compte ce qui complexifie la lecture du projet. En plus ça complexifie aussi la compréhension du make file car il n'y a aucun moyen de savoir quelle commande est à exécuter et où ce qui peut être un frein pour de nouveau contributeur peut importe l'expérience de ce dernier.

make init-file
make test-integration-ci

rector:
name: "Rector"
Expand All @@ -139,4 +145,4 @@ jobs:
composer-options: "--no-scripts"

- name: Rector
run: make rector
run: ./bin/rector --dry-run
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
###> env file ###
.env

###> docker file ###
docker.env.local
docker/data/history

deps.lock
.idea
# OS X
Expand All @@ -26,6 +31,8 @@ node_modules

/htdocs/assets
/htdocs/templates/site/css/styles.css
# File generated by tests
/htdocs/pages/administration/avatar1.png
js_dist
# uploads
/htdocs/uploads
Expand Down
Loading