name: Release on: push: branches: - master jobs: tests: runs-on: ubuntu-latest strategy: matrix: php: [8.1, 8.2, 8.3, 8.4] steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} - name: Validate composer.json run: composer validate - name: Install dependencies run: composer update --prefer-source - name: Run test suite run: php vendor/bin/phpunit tests release: name: Automated release needs: [ tests ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v1 with: node-version: 22 - run: > npx -p "@semantic-release/commit-analyzer" -p "@semantic-release/release-notes-generator" -p conventional-changelog-conventionalcommits -p semantic-release -- semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} permissions: packages: write contents: write pull-requests: write