name: Froxlor-CI-MySQL on: ['push', 'pull_request', 'create'] jobs: froxlor: name: Froxlor (PHP ${{ matrix.php-versions }}, MySQL ${{ matrix.mysql-version }}) runs-on: ubuntu-latest strategy: fail-fast: false matrix: php-versions: ['7.4', '8.2'] mysql-version: [8.0, 5.7] steps: - name: Checkout uses: actions/checkout@v3 - name: Setup PHP, with composer and extensions uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} tools: composer:v2 extensions: mbstring, xml, ctype, pdo_mysql, mysql, curl, json, zip, session, filter, posix, openssl, fileinfo, bcmath, gmp, gnupg - name: Install tools run: sudo apt-get install -y ant - name: Adjust firewall run: | sudo ufw allow out 3306/tcp sudo ufw allow in 3306/tcp - name: Setup MySQL uses: samin/mysql-action@v1.3 with: mysql version: ${{ matrix.mysql-version }} mysql database: 'froxlor010' mysql root password: 'fr0xl0r.TravisCI' - name: Wait for database run: sleep 15 - name: Setup database (8.0) if: matrix.mysql-version == '8.0' run: | mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "CREATE USER 'froxlor010'@'%' IDENTIFIED WITH mysql_native_password BY 'fr0xl0r.TravisCI';" mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "GRANT ALL ON froxlor010.* TO 'froxlor010'@'%';" php -r "echo include('install/froxlor.sql.php');" > /tmp/froxlor.sql mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI froxlor010 < /tmp/froxlor.sql - name: Setup database (5.7) if: matrix.mysql-version == '5.7' run: | mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "CREATE USER 'froxlor010'@'%' IDENTIFIED BY 'fr0xl0r.TravisCI';" mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "GRANT ALL ON froxlor010.* TO 'froxlor010'@'%';" php -r "echo include('install/froxlor.sql.php');" > /tmp/froxlor.sql mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI froxlor010 < /tmp/froxlor.sql - name: Run testing run: ant quick-build