Skip to content

CI

CI #3319

Workflow file for this run

#
# JBZoo Toolbox - Composer-Diff.
#
# This file is part of the JBZoo Toolbox project.
# For the full copyright and license information, please view the LICENSE
# file that was distributed with this source code.
#
# @license MIT
# @copyright Copyright (C) JBZoo.com, All rights reserved.
# @see https://github.com/JBZoo/Composer-Diff
#
name: CI
on:
pull_request:
branches:
- "*"
push:
branches:
- 'master'
schedule:
- cron: '39 */8 * * *'
env:
COLUMNS: 120
TERM_PROGRAM: Hyper
jobs:
phpunit:
name: PHPUnit
runs-on: ubuntu-latest
env:
JBZOO_COMPOSER_UPDATE_FLAGS: ${{ matrix.composer_flags }}
strategy:
matrix:
php-version: [ 8.1, 8.2, 8.3 ]
coverage: [ xdebug, none ]
composer_flags: [ "--prefer-lowest", "" ]
build-action: [ "update" ]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: ${{ matrix.coverage }}
tools: composer
extensions: ast
- name: Build the Project
run: make ${{ matrix.build-action }} --no-print-directory
- name: 🧪 PHPUnit Tests
run: make test --no-print-directory
- name: Uploading coverage to coveralls
if: ${{ matrix.coverage == 'xdebug' }}
continue-on-error: true
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: make report-coveralls --no-print-directory || true
- name: Upload Artifacts
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: PHPUnit - ${{ matrix.php-version }} - ${{ matrix.coverage }} - ${{ matrix.build-action }}
path: build/
linters:
name: Linters
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ 8.1, 8.2, 8.3 ]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
tools: composer
extensions: ast
- name: Build the Project
run: make update --no-print-directory
- name: 👍 Code Quality
run: make codestyle --no-print-directory
- name: Upload Artifacts
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: Linters - ${{ matrix.php-version }}
path: build/
report:
name: Reports
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ 8.1, 8.2, 8.3 ]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: xdebug
tools: composer
extensions: ast
- name: Build the Project
run: make update --no-print-directory
- name: 📝 Build Reports
run: make report-all --no-print-directory
- name: Upload Artifacts
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: Reports - ${{ matrix.php-version }}
path: build/
phar:
name: Phar
runs-on: ubuntu-latest
needs: [ phpunit, linters, report ]
strategy:
matrix:
php-version: [ 8.1, 8.2, 8.3 ]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: xdebug
tools: composer
extensions: ast
- name: Build the project
run: make build --no-print-directory
- name: Building Phar binary file
run: make build-phar --no-print-directory
- name: Trying to use the phar file
run: ./build/composer-diff.phar diff --help
- name: Upload Artifacts
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: Reports - ${{ matrix.php-version }}
path: build/
docker:
name: Docker
runs-on: ubuntu-latest
needs: [ phar ]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: 🐳 Building Docker Image
run: make build-docker
- name: Trying to use the Docker Image
run: docker run --rm jbzoo-composer-diff diff --help