Files
setup-composer/action.yml
2025-07-23 16:48:27 +02:00

52 lines
1.6 KiB
YAML

name: Setup composer
description: Install and cache composer dependencies
author: Jamie Schouten
inputs:
working-directory:
description: 'directory to run composer in'
required: false
default: './'
args:
description: 'install arguments'
required: false
default: '--verbose --prefer-dist --no-progress --no-interaction --optimize-autoloader --ignore-platform-reqs --no-scripts'
file:
description: 'file to hash for cache key'
required: false
default: '**/composer.lock'
packistry-token:
description: 'Packistry deploy token'
required: false
default: ${{ vars.PACKISTRY_DEPLOY_TOKEN }}
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set working directory
run: cd ${{ inputs.working-directory }}
- name: Auth registry
run: composer config --global bearer.packistry.qlic.nl ${{ inputs.packistry-token }}
working-directory: ${{ inputs.working-directory }}
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
working-directory: ${{ inputs.working-directory }}
- uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles(inputs.file) }}
restore-keys: |
${{ runner.os }}-composer-
working-directory: ${{ inputs.working-directory }}
- name: Install dependencies
run: composer install ${{ inputs.args }}
working-directory: ${{ inputs.working-directory }}