feat: run setup:di:compile on push (#116)

* feat: run setup:di:compile on push

* feat: use mage-os/github-actions/cache-magento

* Removed fetch-depth

* Update example usage

* Switch to PHP 8.3 as default

* Update docs

---------

Co-authored-by: Fabrizio Balliano <fabrizio.balliano@gmail.com>
Co-authored-by: Ryan Hoerr <rhoerr@users.noreply.github.com>
This commit is contained in:
Tjitse
2025-03-07 02:07:40 +00:00
committed by GitHub
parent ca7cd551a3
commit 22aca78cc8
2 changed files with 87 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Magento 2 setup:di:compile action
A Github Action that runs `php bin/magento setup:di:compile` and checks for compilation errors.
## Inputs
See the [action.yml](./action.yml)
## Usage
```yml
name: Magento setup:di:compile check
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
setup-di-compile:
runs-on: ubuntu-latest
steps:
- uses: mage-os/github-actions/setup-di-compile@main
with:
php_version: "8.3"
composer_version: "2"
```
+58
View File
@@ -0,0 +1,58 @@
name: "Magento compilation (setup:di:compile)"
author: "MageOS"
description: "A Github Action that runs bin/magento setup:di:compile."
inputs:
php_version:
required: true
default: "8.3"
description: "PHP version used to run setup:di:compile."
composer_version:
required: true
default: "2"
description: "The version of composer to use."
runs:
using: composite
steps:
- name: Checkout Project
uses: actions/checkout@v3
- name: Get changed files that could break compilation
uses: tj-actions/changed-files@v39
id: changed-files
with:
files_yaml: |
magento:
- 'composer.lock'
- 'composer.json'
- '**/*.php'
- '**/*.xml'
- name: Set PHP Version
if: steps.changed-files.outputs.magento_any_changed == 'true'
uses: shivammathur/setup-php@v2
with:
php-version: ${{ inputs.php_version }}
tools: composer:v${{ inputs.composer_version }}
coverage: none
- uses: mage-os/github-actions/cache-magento@main
with:
mode: 'store'
- name: Install composer dependencies
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: composer install
- name: Enable all modules
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: php bin/magento module:enable --all
- name: Compile
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: php bin/magento setup:di:compile