:octocat: + :musical_note: Provides a GitHub action for running ergebnis/composer-normalize.
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).
:bulb: 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.json
does not exist in this directory (be sure to checkout the code first, see actions/checkout
)composer.json
is not validcomposer.json
is valid, but composer.lock
is not up-to-date with composer.json
and the step will succeed when
composer.json
is valid, composer.lock
is not present, and composer.json
and not yet normalized or could be successfully normalizedcomposer.json
is valid, composer.lock
is present and up-to-date, and composer.json
, and composer.json
and not yet normalized or could be successfully normalized:bulb: 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.
:bulb: 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
.