name: test-migrations on: push: branches-ignore: - l10n_development pull_request: branches-ignore: - l10n_development jobs: build: runs-on: ubuntu-20.04 strategy: matrix: php: ['7.3', '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 MySQL run: | sudo systemctl start mysql - name: Create database & user 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: Start migration test run: | php${{ matrix.php }} artisan migrate --force -n --database=mysql_testing - name: Start migration:rollback test run: | php${{ matrix.php }} artisan migrate:rollback --force -n --database=mysql_testing - name: Start migration rerun test run: | php${{ matrix.php }} artisan migrate --force -n --database=mysql_testing