diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index dcacbd6..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,67 +0,0 @@ -name: 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.1' ] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - ini-values: phar.readonly=0 - tools: composer - coverage: none - - - name: Install Composer dependencies - uses: ramsey/composer-install@v2 - - - 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@v3 - 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@v3 - with: - name: branch-usage-checker - path: builds/ - - - name: Upload box.phar - uses: softprops/action-gh-release@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - files: builds/branch-usage-checker diff --git a/.github/workflows/test-and-build.yml b/.github/workflows/test-and-build.yml new file mode 100644 index 0000000..1c41694 --- /dev/null +++ b/.github/workflows/test-and-build.yml @@ -0,0 +1,76 @@ +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.1' ] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + 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@v2 + + - 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@v3 + 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@v3 + with: + name: branch-usage-checker + path: builds/ + + - name: Upload box.phar + uses: softprops/action-gh-release@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + files: builds/branch-usage-checker diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 2de8cdd..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Tests - -on: [ 'push', 'pull_request' ] - -jobs: - ci: - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ ubuntu-latest ] - php: [ '8.0' ] - dependency-version: [ prefer-lowest, prefer-stable ] - - name: PHP ${{ matrix.php }} - ${{ matrix.os }} - ${{ matrix.dependency-version }} - - steps: - - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - 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 - run: composer update --${{ matrix.dependency-version }} --no-interaction --prefer-dist --no-suggest - - - name: PHPUnit Testing - run: vendor/bin/pest --coverage - - - name: Copy application to phar - run: cp application application.phar - - - name: Build - run: php application app:build branch-usage-checker --build-version=0.0 - - - name: Build Check - run: php builds/branch-usage-checker --version