name: Test & Build on: push: branches: [master] pull_request: release: types: [created] jobs: build-phar: runs-on: ubuntu-latest name: Build PHAR strategy: fail-fast: false matrix: php: ["8.4"] steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: Setup PHP uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0 with: php-version: ${{ matrix.php }} ini-values: phar.readonly=0 extensions: fileinfo tools: composer:v2 coverage: pcov - name: Setup Problem Matches run: | echo "::add-matcher::${{ runner.tool_cache }}/php.json" echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - name: Install Composer dependencies uses: ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520 # 3.1.1 - name: PHPUnit Testing run: vendor/bin/pest --coverage - name: Copy application to phar run: cp application application.phar - name: Build PHAR run: php application app:build branch-usage-checker --build-version # Smoke test - name: Ensure the PHAR works run: builds/branch-usage-checker --version - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 name: Upload the PHAR artifact with: name: branch-usage-checker path: builds/branch-usage-checker publish-phar: runs-on: ubuntu-latest name: Publish the PHAR needs: - "build-phar" if: github.event_name == 'release' steps: - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: branch-usage-checker path: builds/ - name: Upload box.phar uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} files: builds/branch-usage-checker