diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bab6987..52824b5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,14 +17,14 @@ jobs: strategy: fail-fast: false matrix: - php-versions: ["8.0", "8.1", "8.2", "8.3"] + php-versions: ["7.4", "8.0", "8.1", "8.2"] host-os: ["ubuntu-latest", "windows-latest"] experimental: [false] name: PHP ${{ matrix.php-versions }} - OS ${{ matrix.host-os }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -40,7 +40,7 @@ jobs: if: ${{ startsWith( matrix.host-os , 'ubuntu') }} - name: Cache dependencies (Ubuntu) - uses: actions/cache@v4 + uses: actions/cache@v3 with: path: ${{ steps.composercache-ubuntu.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -55,7 +55,7 @@ jobs: if: ${{ startsWith( matrix.host-os , 'windows') }} - name: Cache dependencies (Windows) - uses: actions/cache@v4 + uses: actions/cache@v3 with: path: ${{ steps.composercache-windows.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} @@ -73,7 +73,7 @@ jobs: run: composer phpunit - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v3 with: file: ./clover.xml fail_ci_if_error: true diff --git a/.github/workflows/v5.yml b/.github/workflows/v5.yml new file mode 100644 index 0000000..e14bbc6 --- /dev/null +++ b/.github/workflows/v5.yml @@ -0,0 +1,80 @@ +name: Build version 5 development + +on: + pull_request: + branches: + - "v5" + push: + branches: + - "v5" + - "feature/v5/*" + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.host-os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-versions: ["8.0", "8.1", "8.2", "8.3"] + host-os: ["ubuntu-latest", "windows-latest"] + experimental: [false] + + name: PHP ${{ matrix.php-versions }} - OS ${{ matrix.host-os }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + coverage: none + extensions: sockets, intl, bz2, zip + + - name: Get composer cache directory (Ubuntu) + id: composercache-ubuntu + run: | + echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + if: ${{ startsWith( matrix.host-os , 'ubuntu') }} + + - name: Cache dependencies (Ubuntu) + uses: actions/cache@v4 + with: + path: ${{ steps.composercache-ubuntu.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer- + if: ${{ startsWith( matrix.host-os , 'ubuntu') }} + + - name: Get composer cache directory (Windows) + id: composercache-windows + run: | + echo "dir=$(composer config cache-files-dir)" >> $env:GITHUB_OUTPUT + if: ${{ startsWith( matrix.host-os , 'windows') }} + + - name: Cache dependencies (Windows) + uses: actions/cache@v4 + with: + path: ${{ steps.composercache-windows.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer- + if: ${{ startsWith( matrix.host-os , 'windows') }} + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Check codestyle + run: composer check + + - name: Run test suite + run: composer phpunit + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + with: + file: ./clover.xml + fail_ci_if_error: true + token: ${{ secrets.CODECOV_TOKEN }}