Skip to content
This repository was archived by the owner on Mar 6, 2021. It is now read-only.

ergebnis/composer-normalize-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

composer-normalize-action

Integrate Deploy

What does this action do?

This action runs ergebnis/composer-normalize.

Usage

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.

Default Behaviour

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 valid
  • composer.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 normalized
  • composer.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

πŸ’‘ 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"

Custom Behavior

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"

Docker image

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"

Changelog

Please have a look at CHANGELOG.md.

Contributing

Please have a look at CONTRIBUTING.md.

Code of Conduct

Please have a look at CODE_OF_CONDUCT.md.

License

This package is licensed using the MIT License.

Please have a look at LICENSE.md.

Credits

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.

About

:octocat: + 🎡 Provides a GitHub action for running ergebnis/composer-normalize.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •