Skip to content

Commit

Permalink
Switch phpunit to docker based execution
Browse files Browse the repository at this point in the history
  • Loading branch information
juliusstoerrle committed Dec 7, 2024
1 parent 68ab961 commit de0d0b9
Showing 1 changed file with 39 additions and 19 deletions.
58 changes: 39 additions & 19 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ on:
- webservice/**
types: [opened, reopened, synchronize, ready_for_review]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
COMMIT_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
BRANCH: ${{ github.event_name == 'pull_request' && format('refs/heads/{0}', github.event.pull_request.head.ref) || github.ref }}
Expand Down Expand Up @@ -107,30 +111,46 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
tools: composer:v2
coverage: xdebug
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Restore cached composer packages
id: composer-cache
uses: actions/cache/restore@v4
- name: Build Docker images
uses: docker/bake-action@v4
with:
path: webservice/vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
pull: true
load: true
files: |
compose.yaml
compose.override.yaml
set: |
*.cache-from=type=gha,scope=${{github.ref}}
*.cache-from=type=gha,scope=refs/heads/main
*.cache-to=type=gha,scope=${{github.ref}},mode=max
- name: Start services
run: docker compose up --wait --no-build

- name: Check HTTPS reachability
if: false # Remove this line when the homepage will be configured, or change the path to check
run: curl -vk --fail-with-body https://localhost

- name: Check Mercure reachability
run: curl -vkI --fail-with-body https://localhost/.well-known/mercure?topic=test

- name: Install Dependencies
working-directory: webservice
run: >-
composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: Create test database
run: docker compose exec -T php bin/console -e test doctrine:database:create

- name: Run migrations
# Switch following line once Doctrine Migrations is used
# run: docker compose exec -T php bin/console -e test doctrine:migrations:migrate --no-interaction
run: docker compose exec -T php bin/console -e test doctrine:schema:create --no-interaction

#- name: Doctrine Schema Validator
# Some columns always create a diff
# run: docker compose exec -T php bin/console -e test doctrine:schema:validate

- name: Run PHPUnit
working-directory: webservice
run: 'composer run test:coverage'
run: docker compose exec -T php composer run test:coverage

static-analyser-check:
runs-on: ubuntu-latest
Expand Down

0 comments on commit de0d0b9

Please sign in to comment.