mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-11-24 22:23:49 +08:00
f8e6172582
Old branch filters did not seem to work since they are supposed to reference the target branch, not source branch. Instead used if statement to prevent run on crowdin branch.
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
name: phpunit
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ github.ref != 'refs/heads/l10n_development' }}
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
php: ['7.4', '8.0', '8.1']
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
extensions: gd, mbstring, json, curl, xml, mysql, ldap
|
|
|
|
- name: Get Composer Cache Directory
|
|
id: composer-cache
|
|
run: |
|
|
echo "::set-output name=dir::$(composer config cache-files-dir)"
|
|
|
|
- name: Cache composer packages
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ steps.composer-cache.outputs.dir }}
|
|
key: ${{ runner.os }}-composer-${{ matrix.php }}
|
|
|
|
- name: Start Database
|
|
run: |
|
|
sudo systemctl start mysql
|
|
|
|
- name: Setup Database
|
|
run: |
|
|
mysql -uroot -proot -e 'CREATE DATABASE IF NOT EXISTS `bookstack-test`;'
|
|
mysql -uroot -proot -e "CREATE USER 'bookstack-test'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bookstack-test';"
|
|
mysql -uroot -proot -e "GRANT ALL ON \`bookstack-test\`.* TO 'bookstack-test'@'localhost';"
|
|
mysql -uroot -proot -e 'FLUSH PRIVILEGES;'
|
|
|
|
- name: Install composer dependencies
|
|
run: composer install --prefer-dist --no-interaction --ansi
|
|
|
|
- name: Migrate and seed the database
|
|
run: |
|
|
php${{ matrix.php }} artisan migrate --force -n --database=mysql_testing
|
|
php${{ matrix.php }} artisan db:seed --force -n --class=DummyContentSeeder --database=mysql_testing
|
|
|
|
- name: phpunit
|
|
run: php${{ matrix.php }} ./vendor/bin/phpunit
|