From 22aca78cc8c648549b7a139fd2739ac9e8db916d Mon Sep 17 00:00:00 2001 From: Tjitse Date: Fri, 7 Mar 2025 02:07:40 +0000 Subject: [PATCH] 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 Co-authored-by: Ryan Hoerr --- setup-di-compile/README.md | 29 +++++++++++++++++++ setup-di-compile/action.yml | 58 +++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 setup-di-compile/README.md create mode 100644 setup-di-compile/action.yml diff --git a/setup-di-compile/README.md b/setup-di-compile/README.md new file mode 100644 index 0000000..acf03ba --- /dev/null +++ b/setup-di-compile/README.md @@ -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" +``` diff --git a/setup-di-compile/action.yml b/setup-di-compile/action.yml new file mode 100644 index 0000000..fb04052 --- /dev/null +++ b/setup-di-compile/action.yml @@ -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