antonmarin/traceable-pdo

View on GitHub
Taskfile.yml

Summary

Maintainability
Test Coverage
---
version: 2

tasks:
  default:
    cmds:
      - task --list

  # builds library with php version
  # Vars: PHP_VERSION ex:7.1
  build:
    cmds:
      - docker run --rm -v ${PWD}:/app -w /app
        antonmarin/php:{{ .PHP_VERSION }}-alpine-cli composer install

  cs-fix:
    desc: Fix codestyle
    cmds:
      - docker run --rm  -v ${PWD}:/data
        cytopia/php-cs-fixer:2 fix {{ .OPTIONS }} .
    vars:
      OPTIONS:
        sh: echo {{ default "--allow-risky=yes" .OPTIONS }}

  lint:
    cmds:
      - task: cs-fix
        vars:
          OPTIONS: "--dry-run --diff --allow-risky=yes"

  # rebuilds library with php version
  # Vars: PHP_VERSION ex:7.1
  rebuild:
    cmds:
      - rm composer.lock 2> /dev/null || true
      - task: build
        vars:
          PHP_VERSION:
            sh: echo {{ .PHP_VERSION | quote }}

  # test library with special version
  # Vars: PHP_VERSION ex:7.1
  test:
    cmds:
      - task: rebuild
        vars:
          PHP_VERSION:
            sh: echo {{ .PHP_VERSION | quote }}
      - docker run --rm -v ${PWD}:/app -w /app
        antonmarin/php:{{ .PHP_VERSION }}-alpine-cli vendor/bin/phpunit

  test-all:
    desc: "Test library with all supported versions of php"
    cmds:
      - task: test
        vars:
          PHP_VERSION: 5.6
      - task: test
        vars:
          PHP_VERSION: 7.0
      - task: test
        vars:
          PHP_VERSION: 7.1
      - task: test
        vars:
          PHP_VERSION: 7.2
      - task: test
        vars:
          PHP_VERSION: 7.3
      - task: test
        vars:
          PHP_VERSION: 7.4