This action runs ergebnis/composer-normalize.
Define a workflow in .github/workflows/continuous-integration.yml (or add a job if you already have defined workflows).
π‘ Read more about Configuring a workflow.
By default this action will run
$ composer normalize
in the working directory.
When you use this action in a step with the default behaviour, the step will fail when
composer.jsondoes not exist in this directory (be sure to checkout the code first, seeactions/checkout)composer.jsonis not validcomposer.jsonis valid, butcomposer.lockis not up-to-date withcomposer.json
and the step will succeed when
composer.jsonis valid,composer.lockis not present, andcomposer.jsonand not yet normalized or could be successfully normalizedcomposer.jsonis valid,composer.lockis present and up-to-date, andcomposer.json, andcomposer.jsonand not yet normalized or could be successfully normalized
π‘ If you want the step to fail when composer.json is not yet normalized, you need to run with the --dry-run options, see below.
Here's an example for a workflow configuration with the default behaviour:
name: "Integrate"
on: "push"
jobs:
composer-normalize:
name: "composer-normalize"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Run composer normalize"
uses: "docker://ergebnis/composer-normalize-action:latest"If you prefer to specify arguments or options yourself, you can configure those using the args option:
name: "Integrate"
on: "push"
jobs:
composer-normalize:
name: "composer-normalize"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/[email protected]"
- name: "Run composer normalize"
uses: "docker://ergebnis/composer-normalize-action:latest"
+ with:
+ args: "--diff --dry-run --indent-size=2 --indent-style=space"As Docker images are automatically built and pushed on a merge to main or when a new tag is created in this repository, the recommended way to use this GitHub action is to reference the pre-built Docker image directly, as seen above.
π‘ The Docker image can also be executed directly by running
$ docker run --interactive --rm --tty --workdir=/app --volume ${PWD}:/app ergebnis/composer-normalize-action:latest
For more information, see the Docker Docs: Docker run reference.
Instead of using the latest pre-built Docker image, you can also specify a Docker image tag (which corresponds to the tags released on GitHub):
name: Integrate
on: push
jobs:
composer-normalize:
name: "composer-normalize"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Run composer normalize"
- uses: "docker://ergebnis/composer-normalize-action:latest"
+ uses: "docker://ergebnis/composer-normalize-action:0.7.0"Please have a look at CHANGELOG.md.
Please have a look at CONTRIBUTING.md.
Please have a look at CODE_OF_CONDUCT.md.
This package is licensed using the MIT License.
Please have a look at LICENSE.md.
The implementation of this GitHub action is largely inspired by the work of Oskar Stark on the GitHub actions OskarStark/php-cs-fixer-ga and OskarStark/phpstan-ga.