diff --git a/.github/workflows/php84.yml b/.github/workflows/php84.yml new file mode 100644 index 0000000..31474b4 --- /dev/null +++ b/.github/workflows/php84.yml @@ -0,0 +1,70 @@ +name: Build PHP 8.4 + +on: + push: + branches: [ main, dev ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ${{ matrix.os }} + services: + sql.data: + image: mcr.microsoft.com/mssql/server:2019-latest + env: + SA_PASSWORD: 1234567890@Eu + ACCEPT_EULA: Y + MSSQL_PID: Express + ports: + - "1433:1433" + strategy: + fail-fast: true + matrix: + os: [ ubuntu-latest ] + php: [8.4] + + name: PHP${{matrix.php}} - ${{matrix.os}} + + steps: + - name: Clone Repo + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: mysqli, mbstring, sqlsrv + tools: phpunit:9.5.20, composer + + - name: Shutdown Ubuntu MySQL + run: sudo service mysql stop + + - name: Set up MySQL + uses: mirromutth/mysql-action@v1.1 + with: + mysql version: '5.7' + mysql database: 'testing_db' + mysql root password: 123456 + mysql user: 'root' + mysql password: 123456 + + - name: Wait for MySQL + run: | + while ! mysqladmin ping --host=127.0.0.1 --password=123456 --silent; do + sleep 1 + done + + - name: Setup MSSQL + run: sqlcmd -S localhost -U SA -P 1234567890@Eu -Q 'create database testing_db' + + - name: Install Dependencies + run: composer install --prefer-source --no-interaction --no-dev + + - name: Execute Tests + run: phpunit + + - name: CodeCov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file