Tests: push on feature/docs-edit by sni10 (commit ad6cae1b0303912d583ddc7c22910d059c2e450f) #8
This file contains hidden or 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: Tests | |
| run-name: >- | |
| Tests: ${{ github.event_name }} on ${{ github.ref_name }} by ${{ github.actor }} (commit ${{ github.sha }}) | |
| on: | |
| pull_request: | |
| branches: | |
| - dev # feature → dev | |
| - stage # dev → stage | |
| - main # stage → main | |
| push: | |
| branches: | |
| - main | |
| - feature/* | |
| - hotfix/* | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Copy environment file | |
| run: | | |
| cp .env.example .env | |
| - name: Load environment variables | |
| run: | | |
| cat .env >> $GITHUB_ENV | |
| - name: Set up Docker Buildx Cache | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Create network | |
| run: | | |
| docker network create internal_sync_network | |
| - name: Build PHP image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./Dockerfile | |
| push: false | |
| load: true | |
| tags: keepa-api-data-extractor-php:latest | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| build-args: | | |
| APP_ENV=${{ env.APP_ENV }} | |
| - name: Start container | |
| run: | | |
| docker compose -f docker-compose.yml \ | |
| -f docker/config-envs/${APP_ENV}/docker-compose.override.yml \ | |
| up -d | |
| - name: Install dependencies | |
| run: | | |
| docker compose exec -T php-keepa-api composer install --no-interaction --prefer-dist --optimize-autoloader | |
| - name: Run PHPUnit with coverage | |
| run: | | |
| docker compose exec -e XDEBUG_MODE=${XDEBUG_MODE} php-keepa-api vendor/bin/phpunit \ | |
| --log-junit var/coverage-report/phpunit-report.xml \ | |
| --coverage-text \ | |
| --coverage-html=var/coverage-report \ | |
| --coverage-clover=var/coverage-report/phpunit-coverage.xml | |
| - name: Copy coverage reports from container | |
| if: always() | |
| run: | | |
| docker compose cp php-keepa-api:/var/www/keepa-api-data-extractor/var/coverage-report ./var/ | |
| - name: Upload coverage reports | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: coverage-report | |
| path: var/coverage-report | |
| retention-days: 30 | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| docker compose -f docker-compose.yml -f docker/config-envs/${APP_ENV}/docker-compose.override.yml down -v |