Skip to content

Tests: push on feature/docs-edit by sni10 (commit ad6cae1b0303912d583ddc7c22910d059c2e450f) #8

Tests: push on feature/docs-edit by sni10 (commit ad6cae1b0303912d583ddc7c22910d059c2e450f)

Tests: push on feature/docs-edit by sni10 (commit ad6cae1b0303912d583ddc7c22910d059c2e450f) #8

Workflow file for this run

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