split actions per file #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: push | |
env: | |
APP_ENV: test | |
NODE_ENV: test | |
jobs: | |
BASE: | |
name: Run base tests | |
runs-on: ubuntu-latest | |
env: | |
STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} | |
STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }} | |
steps: | |
- name: Set timezone | |
uses: szenius/[email protected] | |
with: | |
timezoneLinux: "Europe/Paris" | |
- uses: actions/checkout@v2 | |
- name: Create .env file | |
run: cp .env.dist .env | |
- name: Pull Docker images | |
run: docker compose pull --ignore-pull-failures | |
- name: Prepare OSRM data | |
run: | | |
docker compose run -T --rm osrm wget --no-check-certificate https://coopcycle-assets.sfo2.digitaloceanspaces.com/osm/paris-france.osm.pbf -O /data/data.osm.pbf | |
docker compose run -T --rm osrm osrm-extract -p /opt/bicycle.lua /data/data.osm.pbf | |
docker compose run -T --rm osrm osrm-partition /data/data.osrm | |
docker compose run -T --rm osrm osrm-customize /data/data.osrm | |
- name: Start Docker containers | |
run: docker compose up -d | |
- name: Wait for PHP-FPM | |
run: until docker inspect --format='{{ .State.Health.Status }}' $(docker compose ps -q php) | grep -wq healthy; do sleep 5; done | |
timeout-minutes: 2 | |
- name: Wait webpack | |
run: until [ -f "web/build/entrypoints.json" ]; do sleep 5; done | |
timeout-minutes: 2 | |
- name: Show PHP logs | |
if: always() | |
run: docker compose logs php | |
- name: Create database | |
run: docker compose exec -T php bin/console doctrine:schema:create --env=test | |
- name: Create typesense collections | |
run: docker compose exec -T php bin/console typesense:create --env=test | |
- name: Validate database schema | |
run: docker compose exec -T php bin/console doctrine:schema:validate --env=test --skip-sync | |
- name: Run PHPUnit | |
run: | | |
cp phpunit.xml.dist phpunit.xml | |
docker compose exec -T php vendor/bin/phpunit | |
- name: Run Behat | |
run: docker compose exec -T php vendor/bin/behat -f progress | |
- name: Show Symfony logs on failure | |
if: failure() | |
run: docker compose exec -T php cat var/logs/test-$(date +'%Y-%m-%d').log | grep -v DEBUG | |
- name: Upload Symfony logs on failure | |
if: ${{ failure() }} | |
run: docker compose exec -T php cat var/logs/test-$(date +'%Y-%m-%d').log > symfony_logs.log | |
- name: Upload Symfony logs artifact | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: symfony-logs | |
path: symfony_logs.log | |
- name: Run Jest | |
run: docker compose exec -T webpack npm run jest |