feat!: support for Laravel 12 and PHP 8.4 #330
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| on: # yamllint disable-line rule:truthy | |
| pull_request: | |
| branches: | |
| - master | |
| push: | |
| branches: | |
| - master | |
| name: 🧪 Testing (MSSQL - SQLServer) | |
| env: | |
| DB_HOST: 127.0.0.1 | |
| DB_PORT: 11433 | |
| DB_USERNAME: SA | |
| DB_PASSWORD: 'SSpaSS__1_123' | |
| DB_CONNECTION: sqlserver | |
| DB_DATABASE: tempdb | |
| jobs: | |
| test-sqlserver: | |
| timeout-minutes: 8 | |
| runs-on: ${{ matrix.os }} | |
| concurrency: | |
| cancel-in-progress: true | |
| group: test-sqlserver-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ matrix.php-version }}-${{ matrix.dependencies }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: | |
| - 'ubuntu-latest' | |
| php-version: | |
| - '8.2' | |
| dependencies: | |
| - locked | |
| sqlserver-version: | |
| - '2022-latest' | |
| services: | |
| sqlserver: | |
| image: mcr.microsoft.com/mssql/server:${{ matrix.sqlserver-version }} | |
| env: | |
| ACCEPT_EULA: 'Y' | |
| SA_PASSWORD: 'SSpaSS__1_123' | |
| MSSQL_PID: 'Developer' | |
| MSSQL_MEMORY_LIMIT_MB: '2048' | |
| options: >- | |
| --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P 'SSpaSS__1_123' -l 30 -Q 'SELECT 1' -No" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 10 | |
| --health-start-period 30s | |
| ports: | |
| - 11433:1433 | |
| steps: | |
| - name: 📦 Check out the codebase | |
| uses: actions/[email protected] | |
| - name: 🛠️ Setup PHP | |
| uses: shivammathur/[email protected] | |
| with: | |
| php-version: ${{ matrix.php-version }} | |
| extensions: none, ctype, dom, json, mbstring, simplexml, tokenizer, xml, xmlwriter, pdo, curl, fileinfo, pdo_mysql, pdo_sqlsrv, iconv | |
| ini-values: error_reporting=E_ALL | |
| coverage: none | |
| - name: 🛠️ Setup problem matchers | |
| run: | | |
| echo "::add-matcher::${{ runner.tool_cache }}/php.json" | |
| echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
| - name: 🤖 Validate composer.json and composer.lock | |
| run: composer validate --ansi --strict | |
| - name: 🔍 Get composer cache directory | |
| uses: wayofdev/gh-actions/actions/composer/[email protected] | |
| - name: ♻️ Restore cached dependencies installed with composer | |
| uses: actions/[email protected] | |
| with: | |
| path: ${{ env.COMPOSER_CACHE_DIR }} | |
| key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }} | |
| restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}- | |
| - name: 🗑️ Remove PHP platform configuration | |
| if: "matrix.dependencies != 'locked'" | |
| run: composer config platform.php --ansi --unset | |
| - name: 📥 Install "${{ matrix.dependencies }}" dependencies | |
| uses: wayofdev/gh-actions/actions/composer/[email protected] | |
| with: | |
| dependencies: ${{ matrix.dependencies }} | |
| - name: ⏳ Wait for SQL Server to be ready | |
| run: | | |
| sudo apt-get update && sudo apt-get install -y netcat | |
| for i in {1..30}; do | |
| if nc -zv 127.0.0.1 11433 2>/dev/null; then | |
| echo "SQL Server port is open!" | |
| break | |
| fi | |
| echo "Waiting for SQL Server... ($i/30)" | |
| sleep 2 | |
| done | |
| - name: 🧪 Run phpunit tests with Pest | |
| run: composer test |