Files
actions/php-composer/README.md
Ismo Vuorinen afb9685d1a fix: improve cache key quality across actions
Address cache key quality issues identified during code review.

php-composer:
- Remove unused cache-directories input and handling code
- Simplify cache paths to vendor + ~/.composer/cache only
- Eliminate empty path issue when cache-directories was default empty

npm-publish:
- Remove redundant -npm- segment from cache key
- Change: runner.os-npm-publish-{manager}-npm-{hash}
- To: runner.os-npm-publish-{manager}-{hash}

go-lint:
- Add ~/.cache/go-build to cached paths
- Now caches both golangci-lint and Go build artifacts
- Improves Go build performance

Result: Cleaner cache keys and better caching coverage
2025-11-20 15:11:26 +02:00

3.1 KiB

ivuorinen/actions/php-composer

Run Composer Install

Description

Runs Composer install on a repository with advanced caching and configuration.

Inputs

name description required default
php

PHP Version to use.

true 8.4
extensions

Comma-separated list of PHP extensions to install

false mbstring, xml, zip, curl, json
tools

Comma-separated list of Composer tools to install

false composer:v2
args

Arguments to pass to Composer.

false --no-progress --prefer-dist --optimize-autoloader
composer-version

Composer version to use (1 or 2)

false 2
stability

Minimum stability (stable, RC, beta, alpha, dev)

false stable
token

GitHub token for private repository access

false ""
max-retries

Maximum number of retry attempts for Composer commands

false 3

Outputs

name description
lock

composer.lock or composer.json file hash

php-version

Installed PHP version

composer-version

Installed Composer version

cache-hit

Indicates if there was a cache hit

Runs

This action is a composite action.

Usage

- uses: ivuorinen/actions/php-composer@main
  with:
    php:
    # PHP Version to use.
    #
    # Required: true
    # Default: 8.4

    extensions:
    # Comma-separated list of PHP extensions to install
    #
    # Required: false
    # Default: mbstring, xml, zip, curl, json

    tools:
    # Comma-separated list of Composer tools to install
    #
    # Required: false
    # Default: composer:v2

    args:
    # Arguments to pass to Composer.
    #
    # Required: false
    # Default: --no-progress --prefer-dist --optimize-autoloader

    composer-version:
    # Composer version to use (1 or 2)
    #
    # Required: false
    # Default: 2

    stability:
    # Minimum stability (stable, RC, beta, alpha, dev)
    #
    # Required: false
    # Default: stable

    token:
    # GitHub token for private repository access
    #
    # Required: false
    # Default: ""

    max-retries:
    # Maximum number of retry attempts for Composer commands
    #
    # Required: false
    # Default: 3