mirror of
https://github.com/espocrm/espocrm.git
synced 2026-03-03 00:27:01 +00:00
64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
name: Test Integration
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 10 * * *'
|
|
|
|
jobs:
|
|
test:
|
|
name: Test on PHP ${{ matrix.php-versions }}
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
TEST_DATABASE_HOST: '127.0.0.1'
|
|
TEST_DATABASE_PORT: '8888'
|
|
TEST_DATABASE_NAME: integration_test
|
|
TEST_DATABASE_USER: root
|
|
TEST_DATABASE_PASSWORD: password
|
|
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
env:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: integration_test
|
|
ports:
|
|
- '8888:3306'
|
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php-versions: ['8.3', '8.5']
|
|
branches: ['master']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
ref: ${{ matrix.branches }}
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 16.x
|
|
|
|
- name: Setup PHP with Composer
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
tools: composer:v2
|
|
ini-values: memory_limit=1024M
|
|
|
|
- name: Start MySQL service
|
|
run: sudo systemctl start mysql
|
|
|
|
- name: Create DB table
|
|
run: mysql -h 127.0.0.1 --port 8888 -u root -ppassword -e 'CREATE DATABASE IF NOT EXISTS integration_test;'
|
|
|
|
- name: NPM install
|
|
run: npm install
|
|
|
|
- name: Build
|
|
run: grunt test
|
|
|
|
- name: Integration testing
|
|
run: vendor/bin/phpunit tests/integration
|