Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set path and/or full filename in triggered_by #1157

Open
evs-xsarus opened this issue Oct 31, 2024 · 0 comments
Open

Set path and/or full filename in triggered_by #1157

evs-xsarus opened this issue Oct 31, 2024 · 0 comments

Comments

@evs-xsarus
Copy link

Q A
Version 2.5.0
Bug? no
New feature? yes
Question? no
Documentation? no
Related tickets comma-separated list of related tickets

Due to the use of dockers, my grump config only uses shell tasks , example:

grumphp:
    process_timeout: 512
    tasks:
        magento_composer:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./magento validate"]
            metadata:
                task: shell
        magento_stan-check:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./magento stan-check"]
            metadata:
                task: shell

        integrations_composer:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./integrations validate"]
            metadata:
                task: shell
        integrations_cs-check:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./integrations cs-check"]
            metadata:
                task: shell

Most of these tasks start properly when PHP files are changed as per documentation https://github.com/phpro/grumphp/blob/v2.x/doc/tasks/shell.md for triggered_by .

Sadly, the composer validate is not triggered if only composer.json/composer.lock is changed. I can add these:

        magento_composer:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./magento validate"]
            metadata:
                task: shell
            triggered_by: [json, lock]

But that means the task will run even if a non-related json or lock file is changed.

To avoid this, specifying a complete filename should help as in this example:

            triggered_by: [composer.lock, composer.json]

or even with wildcards:

            triggered_by: [composer.*]

As you can see in my example, I've duplicate tasks but for different folders. The path should be definable too in triggered by, full example:

        magento_composer:
            scripts:
                - ["-c", "/usr/local/bin/composer2 --working-dir=./magento validate"]
            metadata:
                task: shell
            triggered_by: ['./magento/composer.*']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant