GithubHelp home page GithubHelp logo

Comments (5)

OskarStark avatar OskarStark commented on September 22, 2024 4

Not yet

from php-cs-fixer-ga.

connorhu avatar connorhu commented on September 22, 2024 1

You can do it with one more extra step:

    steps:
      - uses: actions/checkout@v3

      - name: Get Changed Files @ all
        id: all-changes
        uses: tj-actions/changed-files@v35
        with:
          files: |
            lib/**
            tests/**

...

      - name: PHP-CS-Fixer
        uses: docker://oskarstark/php-cs-fixer-ga
        if: ${{ steps.all-changes.outputs.all_changed_files }}
        with:
          args: --config=.php-cs-fixer.base.php --diff --dry-run ${{ join(steps.all-changes.outputs.all_changed_files, ' ') }}

At this point you can create a specific config without finder.

.php-cs-fixer.base.php

<?php

$fixer = (new PhpCsFixer\Config())
    ->setRules([
        'no_spaces_after_function_name' => true,
        'no_spaces_inside_parenthesis' => true,
    ])
    ->setRiskyAllowed(true)
    ->setCacheFile('.php-cs-fixer.cache')
;

return $fixer;

.php-cs-fixer.dist.php

<?php

$fixer = require __DIR__ .'/.php-cs-fixer.base.php';

$fixer->setFinder((new PhpCsFixer\Finder())
    ->in(__DIR__.'/lib')
    ->in(__DIR__.'/tests')
    ->append([__FILE__]));

return $fixer;

from php-cs-fixer-ga.

ToshY avatar ToshY commented on September 22, 2024 1

@OskarStark Here you go: #98

from php-cs-fixer-ga.

ToshY avatar ToshY commented on September 22, 2024

Not yet

@OskarStark still "not yet"?


After seeing @connorhu answer I have made the following setup according to the php-cs-fixer documentation.

      - name: Get changed files
        id: changed-files
        uses: tj-actions/changed-files@v38
        with:
          separator: ','

      - name: PHP CS Fixer
        run: |
          CHANGED_FILES=$(echo "${{ steps.changed-files.outputs.all_changed_and_modified_files }}" | tr "," "\n")
          if ! echo "${CHANGED_FILES}" | grep -qE "^(\\.php-cs-fixer(\\.dist)?\\.php|composer\\.lock)$"; then EXTRA_ARGS=$(printf -- '--path-mode=intersection\n--\n%s' "${CHANGED_FILES}"); else EXTRA_ARGS=''; fi
          vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --dry-run --diff --using-cache=no ${EXTRA_ARGS}

Note: I'm not using this action but php-cs-fixer as dev dependency.

from php-cs-fixer-ga.

OskarStark avatar OskarStark commented on September 22, 2024

Would you send a PR adding your solution to the README file?

from php-cs-fixer-ga.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.