57 lines
1.6 KiB
YAML
57 lines
1.6 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
tests:
|
|
name: Run tests
|
|
runs-on: ubuntu-latest
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:5.7
|
|
env:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: bagisto_testing
|
|
MYSQL_USER: bagisto
|
|
MYSQL_PASSWORD: secret
|
|
ports:
|
|
- 3306
|
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Setup php
|
|
uses: shivammathur/setup-php@v1
|
|
with:
|
|
php-version: '7.3'
|
|
extensions: intl, curl, mbstring, openssl, pdo, pdo_mysql, tokenizer
|
|
|
|
- name: Set environment
|
|
run: |
|
|
set -e
|
|
sed -i "s|^\(DB_HOST=\s*\).*$|\1127.0.0.1|" .env.testing
|
|
sed -i "s|^\(DB_PORT=\s*\).*$|\1${{ job.services.mysql.ports['3306'] }}|" .env.testing
|
|
printf "the complete .env.testing ...\n\n"
|
|
cat .env.testing
|
|
|
|
- name: Composer install
|
|
run: |
|
|
set -e
|
|
composer global require hirak/prestissimo
|
|
composer install --no-interaction --ansi --no-progress --no-suggest --optimize-autoloader
|
|
|
|
- name: Migrate database
|
|
run: set -e && php artisan migrate --env=testing
|
|
|
|
- name: Execute unit tests
|
|
run: set -e && vendor/bin/codecept run unit
|
|
|
|
- name: Execute functional tests
|
|
run: set -e && vendor/bin/codecept run functional
|
|
|
|
- name: Execute trigger tests
|
|
run: set -e && vendor/bin/codecept run trigger
|