Combine test & build

This commit is contained in:
2022-12-24 01:08:43 +02:00
parent fd6b8102c9
commit 4649edd47d
3 changed files with 76 additions and 115 deletions

View File

@@ -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

76
.github/workflows/test-and-build.yml vendored Normal file
View File

@@ -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

View File

@@ -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