diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 9f6ff77..a0391aa 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -1,4 +1,4 @@ -name: PHP Composer +name: PHP CI on: workflow_dispatch: @@ -7,24 +7,28 @@ on: pull_request: branches: [ main ] +env: + PHP_LATEST: 8.2 + jobs: build: - runs-on: ubuntu-latest + strategy: + matrix: + php: + - '8.1' + - '8.2' steps: - - uses: actions/checkout@v3 - + - name: Checkout repository + uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' - coverage: xdebug - tools: composer:v2, phpdoc - + php-version: ${{ matrix.php }} + tools: composer:v2 - name: Validate composer.json and composer.lock run: composer validate --strict - - name: Cache Composer packages id: composer-cache uses: actions/cache@v3 @@ -33,18 +37,48 @@ jobs: key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - - name: Install dependencies run: composer install --prefer-dist --no-progress - - name: Run test suite run: composer test + docs: + runs-on: ubuntu-latest + needs: build + if: ${{ github.event_name == 'push' }} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ env.PHP_LATEST }} + tools: composer:v2, phpdoc - name: Build documentation run: composer docs - - name: Deploy documentation uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs/build + + ci-success-pr: + runs-on: ubuntu-latest + name: ci-success (PR) + if: ${{ success() && github.event_name == 'pull_request' }} + needs: + - build + steps: + - name: ✅ CI succeeded + run: exit 0 + + ci-success: + runs-on: ubuntu-latest + name: ci-success + if: ${{ success() && github.event_name == 'push' }} + needs: + - build + - docs + steps: + - name: ✅ CI succeeded + run: exit 0