Merge pull request #349 from EscolaLMS/feature/fixing_multi-domain-tool #360
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: Tests Code Coverage | |
on: | |
# Trigger the workflow on push or pull request, | |
# but only for the main branch | |
push: | |
branches: | |
- develop | |
jobs: | |
phpunit-code-coverage: | |
# runs-on: self-hosted | |
runs-on: ubuntu-latest | |
container: | |
image: escolalms/php:8.2-work | |
services: | |
mysql: | |
image: mariadb:10.5 | |
env: | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: test | |
ports: | |
- 33306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Instantiate package | |
run: apt-get install git -y | |
- name: Instantiate package | |
uses: actions/checkout@v2 | |
- name: Copy environment configuration files | |
run: | | |
cp docker/envs/.env.ci.mysql .env | |
cp docker/envs/.env.ci.mysql .env.testing | |
cp docker/envs/phpunit.xml.cc phpunit.xml | |
- name: Update composer | |
run: | | |
apt-get install unzip -y | |
composer self-update | |
composer update | |
- name: Prepare Laravel Application | |
run: | | |
php artisan key:generate | |
php artisan migrate:fresh | |
php artisan db:seed --class="Database\Seeders\PermissionsSeeder" | |
php artisan passport:keys --force | |
php artisan passport:client --personal --no-interaction | |
cp storage/oauth-private.key vendor/orchestra/testbench-core/laravel/storage/oauth-private.key | |
cp storage/oauth-public.key vendor/orchestra/testbench-core/laravel/storage/oauth-public.key | |
mkdir vendor/escolalms/lrs/src/../../storage/ | |
cp storage/*.key vendor/escolalms/lrs/src/../../storage/ | |
- name: Special Migrations for Tests | |
run: php artisan migrate --path=vendor/escolalms/courses/tests/Database/Migrations | |
- name: Remove special app exception handler | |
run: | |
rm -f vendor/escolalms/lrs/tests/Exceptions/Handler.php | |
rm -f vendor/escolalms/cmi5/tests/Exceptions/Handler.php | |
- name: Add pcov | |
run: pecl install pcov && docker-php-ext-enable pcov | |
- name: Run tests | |
run: XDEBUG_MODE=off php -dpcov.enabled=1 -dpcov.directory=. ./vendor/bin/phpunit --coverage-clover coverage.xml --coverage-text | tee coverage.txt | |
- name: Generate Badge | |
run: php tests/badge.php | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cc-badge.svg | |
path: | | |
tests/cc-badge.svg | |
tests/cc-tests.svg | |
coverage.xml | |
# - uses: EndBug/add-and-commit@v7 # You can change this to use a specific version. | |
# with: | |
# add: "tests/*.svg" | |
- name: Deploy to external repository | |
uses: cpina/github-action-push-to-another-repository@main | |
env: | |
SSH_DEPLOY_KEY: ${{ secrets.STATS_KEY }} | |
with: | |
# GitHub Action output files | |
source-directory: tests/ | |
target-directory: api-tests | |
destination-github-username: EscolaLMS | |
destination-repository-name: .github | |
user-email: mateusz@qunabu.com | |
# It defaults to `main` | |
target-branch: "main" | |
- name: Test get variable exported by push-to-another-repository | |
run: echo $DESTINATION_CLONED_DIRECTORY | |