Upgrade Docker PHP version to 8.3-cli-alpine (#25) #157
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# JBZoo Toolbox - Csv-Blueprint. | |
# | |
# 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/Csv-Blueprint | |
# | |
name: CI | |
on: | |
pull_request: | |
branches: | |
- "*" | |
push: | |
branches: | |
- 'master' | |
schedule: | |
- cron: '12 */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", "" ] | |
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 update --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 }} | |
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/ | |
test-php-binary: | |
name: Verify PHP binary | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
tools: composer | |
- name: Build the Project | |
run: make build-install --no-print-directory | |
- name: 👍 Valid CSV file | |
run: | | |
./csv-blueprint \ | |
validate:csv \ | |
--csv=./tests/fixtures/batch/*.csv \ | |
--schema=./tests/schemas/demo_valid.yml | |
- name: 👎 Invalid CSV file | |
run: | | |
! ./csv-blueprint \ | |
validate:csv \ | |
--csv=./tests/fixtures/batch/*.csv \ | |
--schema=./tests/schemas/demo_invalid.yml | |
test-phar: | |
name: Verify PHAR | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: [ 8.1, 8.2, 8.3 ] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
tools: composer | |
- name: Build the project | |
run: make build --no-print-directory | |
- name: Test help and logo | |
run: ./build/csv-blueprint.phar | |
- name: 👍 Valid CSV file | |
run: | | |
./build/csv-blueprint.phar \ | |
validate:csv \ | |
--csv=./tests/fixtures/batch/*.csv \ | |
--schema=./tests/schemas/demo_valid.yml \ | |
--ansi | |
- name: 👎 Invalid CSV file | |
run: | | |
! ./build/csv-blueprint.phar \ | |
validate:csv \ | |
--csv=./tests/fixtures/batch/*.csv \ | |
--schema=./tests/schemas/demo_invalid.yml \ | |
--ansi | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
continue-on-error: true | |
with: | |
name: Reports - ${{ matrix.php-version }} | |
path: build/ | |
docker: | |
name: Verify Docker | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: 🐳 Building Docker Image | |
run: make build-docker | |
- name: Test help and logo | |
run: docker run --rm jbzoo/csv-blueprint --ansi | |
- name: 👍 Valid CSV file | |
run: | | |
docker run --rm \ | |
-v `pwd`:/parent-host \ | |
jbzoo/csv-blueprint \ | |
validate:csv \ | |
--csv=/parent-host/tests/fixtures/demo.csv \ | |
--schema=/parent-host/tests/schemas/demo_valid.yml \ | |
--ansi | |
- name: 👎 Invalid CSV file | |
run: | | |
! docker run --rm \ | |
-v `pwd`:/parent-host \ | |
jbzoo/csv-blueprint \ | |
validate:csv \ | |
--csv=/parent-host/tests/fixtures/demo.csv \ | |
--schema=/parent-host/tests/schemas/demo_invalid.yml \ | |
--ansi |