From 5f9e654487d74c50c5509200a1c73b7196c3dbde Mon Sep 17 00:00:00 2001 From: turegjorup Date: Wed, 8 Jul 2026 11:33:35 +0200 Subject: [PATCH] ci: cache Composer dependencies in workflow templates --- CHANGELOG.md | 5 +++++ github/workflows/composer.yaml | 7 +++++++ github/workflows/drupal-module/php.yaml | 7 +++++++ github/workflows/drupal/php.yaml | 7 +++++++ github/workflows/symfony/php.yaml | 7 +++++++ github/workflows/twig.yaml | 7 +++++++ 6 files changed, 40 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20e47fc..c6c3a5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ Changelog", this file is a reverse-chronological list of merged pull requests. ## Open PR's +- [PR-146](https://github.com/itk-dev/devops_itkdev-docker/pull/146) - 2026-07-08 - + Cache Composer dependencies (`vendor`) in the Composer, Twig and PHP workflow + templates to speed up installs and avoid package registry rate limits. The + cache key hashes both `composer.lock` and `docker-compose.yml` so a PHP image + bump invalidates the cache - [PR-145](https://github.com/itk-dev/devops_itkdev-docker/pull/145) - 2026-07-08 - Updated GitHub Actions to latest versions (`actions/checkout` to `v7`, `go-task/setup-task` to `v2`) in workflow templates and repository CI diff --git a/github/workflows/composer.yaml b/github/workflows/composer.yaml index b50dadb..68d2cfa 100644 --- a/github/workflows/composer.yaml +++ b/github/workflows/composer.yaml @@ -62,6 +62,13 @@ jobs: run: | docker network create frontend + - name: Cache Composer dependencies + uses: actions/cache@v6 + with: + path: vendor + key: composer-${{ hashFiles('composer.lock', 'docker-compose.yml') }} + restore-keys: composer- + - run: | docker compose run --rm phpfpm composer install docker compose run --rm phpfpm composer normalize --dry-run diff --git a/github/workflows/drupal-module/php.yaml b/github/workflows/drupal-module/php.yaml index 7d9d530..76d7dc6 100644 --- a/github/workflows/drupal-module/php.yaml +++ b/github/workflows/drupal-module/php.yaml @@ -60,6 +60,13 @@ jobs: run: | docker network create frontend + - name: Cache Composer dependencies + uses: actions/cache@v6 + with: + path: vendor + key: composer-${{ hashFiles('composer.lock', 'docker-compose.yml') }} + restore-keys: composer- + - run: | docker compose run --rm phpfpm composer install docker compose run --rm phpfpm vendor/bin/phpcs diff --git a/github/workflows/drupal/php.yaml b/github/workflows/drupal/php.yaml index 7d9ec7b..c16b408 100644 --- a/github/workflows/drupal/php.yaml +++ b/github/workflows/drupal/php.yaml @@ -60,6 +60,13 @@ jobs: run: | docker network create frontend + - name: Cache Composer dependencies + uses: actions/cache@v6 + with: + path: vendor + key: composer-${{ hashFiles('composer.lock', 'docker-compose.yml') }} + restore-keys: composer- + - run: | docker compose run --rm phpfpm composer install docker compose run --rm phpfpm vendor/bin/phpcs diff --git a/github/workflows/symfony/php.yaml b/github/workflows/symfony/php.yaml index 6326d8e..9a0d836 100644 --- a/github/workflows/symfony/php.yaml +++ b/github/workflows/symfony/php.yaml @@ -60,6 +60,13 @@ jobs: run: | docker network create frontend + - name: Cache Composer dependencies + uses: actions/cache@v6 + with: + path: vendor + key: composer-${{ hashFiles('composer.lock', 'docker-compose.yml') }} + restore-keys: composer- + - run: | docker compose run --rm phpfpm composer install # https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/usage.rst#the-check-command diff --git a/github/workflows/twig.yaml b/github/workflows/twig.yaml index ffb7055..8fab0a5 100644 --- a/github/workflows/twig.yaml +++ b/github/workflows/twig.yaml @@ -50,6 +50,13 @@ jobs: run: | docker network create frontend + - name: Cache Composer dependencies + uses: actions/cache@v6 + with: + path: vendor + key: composer-${{ hashFiles('composer.lock', 'docker-compose.yml') }} + restore-keys: composer- + - run: | docker compose run --rm phpfpm composer install docker compose run --rm phpfpm vendor/bin/twig-cs-fixer lint