├── .eslintrc.cjs ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── documentation.md │ ├── feature_request.md │ ├── other.md │ └── performance_issue.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── _internal-coding-standard.yaml │ ├── _internal-get-composer-version.yaml │ ├── _internal-get-magento-version.yaml │ ├── _internal-install.yaml │ ├── _internal-integration.yaml │ ├── _internal-semver-compare.yaml │ ├── _internal-setup-magento.yaml │ ├── _internal-unit.yaml │ ├── _internal_test_actions.yaml │ ├── integration-README.md │ ├── integration.yaml │ └── release-please.yml ├── .gitignore ├── .nvmrc ├── .release-please-manifest.json ├── .vscode └── extensions.json ├── CHANGELOG.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── README.md ├── _test └── demo-package │ ├── .gitignore │ ├── README.md │ ├── Test │ ├── Integration │ │ └── ItWorksTest.php │ └── Unit │ │ └── ItWorksTest.php │ ├── composer.json │ ├── composer.lock │ ├── etc │ └── module.xml │ ├── phpunit.xml │ └── registration.php ├── cache-magento ├── README.md └── action.yml ├── coding-standard-baseline ├── README.md └── action.yml ├── coding-standard ├── README.md └── action.yml ├── fix-magento-install ├── README.md └── action.yml ├── get-composer-version ├── README.md └── action.yml ├── get-magento-version ├── README.md └── action.yml ├── installation-test ├── README.md └── action.yml ├── package-lock.json ├── package.json ├── release-please-config.json ├── semver-compare ├── README.md └── action.yml ├── setup-di-compile ├── README.md └── action.yml ├── setup-magento ├── README.md └── action.yml ├── supported-version ├── README.md ├── action.yml ├── dist │ └── index.js ├── jest.config.js ├── package-lock.json ├── package.json ├── src │ ├── index.ts │ ├── kind │ │ ├── get-currently-supported.spec.ts │ │ ├── get-currently-supported.ts │ │ ├── kinds.ts │ │ ├── recent.spec.ts │ │ ├── recent.ts │ │ ├── special-versions │ │ │ ├── latest.json │ │ │ └── nightly.json │ │ ├── validate-kinds.spec.ts │ │ ├── validate-kinds.ts │ │ ├── validations │ │ │ ├── custom-versions-validator.ts │ │ │ └── is-known-kind.ts │ │ └── validator.ts │ ├── matrix │ │ ├── get-matrix-for-kind.spec.ts │ │ ├── get-matrix-for-kind.ts │ │ ├── get-matrix-for-versions.ts │ │ └── matrix-type.ts │ ├── nightly │ │ ├── amend-matrix-for-next.spec.ts │ │ ├── amend-matrix-for-next.ts │ │ ├── get-day-before.ts │ │ ├── get-next-version.spec.ts │ │ ├── get-next-version.ts │ │ ├── repository.ts │ │ ├── unify-next-package-name.spec.ts │ │ └── unify-next-package-name.ts │ ├── project │ │ ├── projects.ts │ │ ├── validate-projects.spec.ts │ │ ├── validate-projects.ts │ │ ├── validations │ │ │ ├── is-known-project.spec.ts │ │ │ └── is-known-project.ts │ │ └── validator.ts │ └── versions │ │ ├── get-versions-for-project.spec.ts │ │ ├── get-versions-for-project.ts │ │ ├── mage-os │ │ ├── composite.json │ │ └── individual.json │ │ └── magento-open-source │ │ ├── composite.json │ │ └── individual.json └── tsconfig.json └── unit-test ├── README.md └── action.yml /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], 3 | parser: '@typescript-eslint/parser', 4 | plugins: ['@typescript-eslint'], 5 | root: true, 6 | }; -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report or Regression 3 | about: Create a report to help us fix an issue or regression 4 | title: '[BUG]' 5 | labels: 'bug' 6 | assignees: 'damienwebdev' 7 | --- 8 | 9 | 14 | 15 | # :bug: Bug report 16 | 17 | ## Current Behavior 18 | 19 | 20 | 21 | ## Expected Behavior 22 | 23 | 24 | 25 | ## Minimal reproduction of the problem with instructions 26 | 27 | 28 | 29 | ## What is the motivation / use case for changing the behavior? 30 | 31 | 32 | 33 | ## Environment 34 | 35 |

36 | Magento version: X.Y.Z 
37 | PHP Version version: X.Y.Z 
38 | 
39 | 
40 | Others:
41 | 
42 | 
-------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation Request 3 | about: Request additional documentation or clarification on a feature. 4 | title: '[DOCS]' 5 | labels: 'docs' 6 | assignees: 'damienwebdev' 7 | --- 8 | 9 | 14 | 15 | # :page_facing_up: Documentation Request 16 | 17 | ## What were you doing? 18 | 19 | 20 | 21 | ## Expected behavior 22 | 23 | 24 | 25 | ## Existing Documentation 26 | 27 | 28 | ## Environment 29 | 30 |

31 | Magento version: X.Y.Z 
32 | PHP Version version: X.Y.Z 
33 | 
34 | 
35 | Others:
36 | 
37 | 
-------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: Ask for a new feature, or something that you'd like to see changed. 4 | title: '[FEAT]' 5 | labels: 'feat' 6 | assignees: 'damienwebdev' 7 | --- 8 | 9 | 14 | 15 | # :bulb: Feature request 16 | 17 | ## Feature Name 18 | 19 | 20 | 21 | ## The Desired Behavior 22 | 23 | 24 | 25 | ## Your Use Case 26 | 27 | 28 | 29 | ## Prior Work 30 | 31 | 32 | 33 | ## Environment 34 | 35 |

36 | Magento version: X.Y.Z 
37 | PHP Version version: X.Y.Z 
38 | 
39 | 
40 | Others:
41 | 
42 | 
-------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Other 3 | about: Report a general issue that isn't covered by other issue templates. 4 | title: '[OTHER]' 5 | labels: '' 6 | assignees: '' 7 | --- 8 | 9 | 14 | 15 | # :question: Other 16 | 17 | 18 | 19 | ## Environment 20 | 21 |

22 | Magento version: X.Y.Z 
23 | PHP Version version: X.Y.Z 
24 | 
25 | 
26 | Others:
27 | 
28 | 
-------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/performance_issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Performance Issue 3 | about: Create a report about a performance problem. 4 | title: '[PERF]' 5 | labels: 'perf' 6 | assignees: 'damienwebdev' 7 | --- 8 | 9 | 14 | 15 | # :turtle: Performance Issue 16 | 17 | ## Current behavior 18 | 19 | 20 | 21 | ## Expected behavior 22 | 23 | 24 | 25 | ## Minimal reproduction of the problem with instructions 26 | 27 | 28 | 29 | ## What is the motivation / use case for changing the behavior? 30 | 31 | 32 | 33 | ## Environment 34 | 35 |

36 | Magento version: X.Y.Z 
37 | PHP Version version: X.Y.Z 
38 | 
39 | 
40 | Others:
41 | 
42 | 
-------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## PR Checklist 2 | Please check if your PR fulfills the following requirements: 3 | 4 | - [ ] The commit message follows our guidelines: https://github.com/graycoreio/github-actions-magento2/blob/main/CONTRIBUTING.md#commit 5 | - [ ] Tests for the changes have been added (for bug fixes / features) 6 | - [ ] Docs have been added / updated (for bug fixes / features) 7 | 8 | 9 | ## PR Type 10 | What kind of change does this PR introduce? 11 | 12 | 13 | - [ ] Bugfix 14 | - [ ] Feature 15 | - [ ] Code style update (formatting, local variables) 16 | - [ ] Refactoring (no functional changes, no api changes) 17 | - [ ] Build related changes 18 | - [ ] CI related changes 19 | - [ ] Documentation content changes 20 | - [ ] Other... Please describe: 21 | 22 | ## What is the current behavior? 23 | 24 | 25 | Fixes: N/A 26 | 27 | 28 | ## What is the new behavior? 29 | 30 | 31 | ## Does this PR introduce a breaking change? 32 | - [ ] Yes 33 | - [ ] No 34 | 35 | 36 | 37 | 38 | ## Other information 39 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Maintain dependencies for GitHub Actions 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "weekly" 8 | - package-ecosystem: "npm" 9 | directory: "/" 10 | schedule: 11 | interval: "weekly" -------------------------------------------------------------------------------- /.github/workflows/_internal-coding-standard.yaml: -------------------------------------------------------------------------------- 1 | name: Coding Standard 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - "_test/demo-package/**" 9 | - ".github/workflows/_internal-coding-standard.yaml" 10 | - "coding-standard/**" 11 | - "!(**/*.md)" 12 | pull_request: 13 | branches: 14 | - main 15 | paths: 16 | - "_test/demo-package/**" 17 | - ".github/workflows/_internal-coding-standard.yaml" 18 | - "coding-standard/**" 19 | - "!(**/*.md)" 20 | workflow_dispatch: 21 | inputs: 22 | version: 23 | type: string 24 | default: '*' 25 | description: The version of the coding standard to use. 26 | required: false 27 | path: 28 | type: string 29 | default: '_test/demo-package' 30 | description: Path to run the coding standard on. 31 | required: true 32 | 33 | jobs: 34 | compute_matrix: 35 | runs-on: ubuntu-latest 36 | outputs: 37 | matrix: ${{ steps.supported-version.outputs.matrix }} 38 | steps: 39 | - uses: actions/checkout@v4 40 | - uses: ./supported-version 41 | with: 42 | kind: currently-supported 43 | id: supported-version 44 | - run: echo ${{ steps.supported-version.outputs.matrix }} 45 | 46 | coding-standard: 47 | needs: compute_matrix 48 | strategy: 49 | matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }} 50 | fail-fast: false 51 | runs-on: ubuntu-latest 52 | steps: 53 | - uses: actions/checkout@v4 54 | - uses: './coding-standard' 55 | with: 56 | version: ${{ github.event.inputs.version || '*' }} 57 | path: ${{ github.event.inputs.path || '_test/demo-package' }} 58 | composer_version: ${{ matrix.composer }} 59 | php_version: ${{ matrix.php }} -------------------------------------------------------------------------------- /.github/workflows/_internal-get-composer-version.yaml: -------------------------------------------------------------------------------- 1 | name: Get Composer Version 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | - testing 8 | paths: 9 | - ".github/workflows/_internal-get-composer-version.yaml" 10 | - "get-composer-version/**" 11 | - "!(**/*.md)" 12 | pull_request: 13 | branches: 14 | - main 15 | paths: 16 | - ".github/workflows/_internal-get-composer-version.yaml" 17 | - "get-composer-version/**" 18 | - "!(**/*.md)" 19 | 20 | jobs: 21 | get-composer-version: 22 | runs-on: ubuntu-latest 23 | steps: 24 | - uses: actions/checkout@v4 25 | - name: Set PHP Version 26 | uses: shivammathur/setup-php@v2 27 | with: 28 | php-version: 8.1 29 | tools: composer:v2.4.2 30 | 31 | - uses: ./get-composer-version 32 | id: composer-version 33 | 34 | 35 | - name: Fail if versions do not match 36 | if: steps.composer-version.outputs.version != '2.4.2' 37 | shell: bash 38 | run: echo "${{ steps.composer-version.outputs.version }}" && exit 1 39 | -------------------------------------------------------------------------------- /.github/workflows/_internal-get-magento-version.yaml: -------------------------------------------------------------------------------- 1 | name: Get Magento Version 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - ".github/workflows/_internal-get-magento-version.yaml" 9 | - "get-magento-version/**" 10 | - "!(**/*.md)" 11 | pull_request: 12 | branches: 13 | - main 14 | paths: 15 | - ".github/workflows/_internal-get-magento-version.yaml" 16 | - "get-magento-version/**" 17 | - "!(**/*.md)" 18 | 19 | jobs: 20 | get-magento-version: 21 | runs-on: ubuntu-latest 22 | steps: 23 | - uses: actions/checkout@v4 24 | - name: Set PHP Version 25 | uses: shivammathur/setup-php@v2 26 | with: 27 | php-version: 8.1 28 | tools: composer:v2.4.2 29 | 30 | - run: composer create-project --repository-url="https://mirror.mage-os.org" "magento/project-community-edition:2.4.5-p1" ../magento2 --no-install 31 | shell: bash 32 | name: Create Magento ${{ matrix.magento }} Project 33 | 34 | - uses: ./get-magento-version 35 | id: magento-version 36 | with: 37 | working-directory: ../magento2 38 | 39 | - name: Fail if key does not match 40 | if: steps.magento-version.outputs.version != '"2.4.5-p1"' 41 | shell: bash 42 | run: echo "${{ steps.magento-version.outputs.version }}" && exit 1 43 | -------------------------------------------------------------------------------- /.github/workflows/_internal-install.yaml: -------------------------------------------------------------------------------- 1 | name: Installation Test 2 | 3 | on: 4 | workflow_dispatch: {} 5 | push: 6 | branches: 7 | - main 8 | paths: 9 | - "_test/demo-package/**" 10 | - "installation-test/**" 11 | - ".github/workflows/_internal-install.yaml" 12 | - "supported-version/**" 13 | - "!(**/*.md)" 14 | pull_request: 15 | branches: 16 | - main 17 | paths: 18 | - "_test/demo-package/**" 19 | - "installation-test/**" 20 | - ".github/workflows/_internal-install.yaml" 21 | - "supported-version/**" 22 | - "!(**/*.md)" 23 | 24 | env: 25 | MAGENTO_COMPOSER_REPO: "https://mirror.mage-os.org/" 26 | 27 | jobs: 28 | compute_matrix: 29 | runs-on: ubuntu-latest 30 | outputs: 31 | matrix: ${{ steps.supported-version.outputs.matrix }} 32 | steps: 33 | - uses: actions/checkout@v4 34 | - uses: ./supported-version 35 | with: 36 | kind: currently-supported 37 | id: supported-version 38 | - run: echo ${{ steps.supported-version.outputs.matrix }} 39 | 40 | install-test: 41 | needs: compute_matrix 42 | strategy: 43 | matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }} 44 | fail-fast: false 45 | runs-on: ubuntu-latest 46 | steps: 47 | - uses: actions/checkout@v4 48 | - uses: ./installation-test 49 | with: 50 | composer_version: ${{ matrix.composer }} 51 | php_version: ${{ matrix.php }} 52 | magento_version: ${{ matrix.magento }} 53 | package_name: mage-os/magento2-demo-package 54 | source_folder: $GITHUB_WORKSPACE/_test/demo-package 55 | composer_auth: ${{ secrets.COMPOSER_AUTH }} 56 | magento_repository: ${{ env.MAGENTO_COMPOSER_REPO }} -------------------------------------------------------------------------------- /.github/workflows/_internal-integration.yaml: -------------------------------------------------------------------------------- 1 | name: Integration Test 2 | 3 | on: 4 | workflow_dispatch: {} 5 | push: 6 | branches: 7 | - main 8 | paths: 9 | - "_test/demo-package/**" 10 | - ".github/workflows/_internal-integration.yaml" 11 | - ".github/workflows/integration.yaml" 12 | - "supported-version/**" 13 | - "!(**/*.md)" 14 | pull_request: 15 | branches: 16 | - main 17 | paths: 18 | - "_test/demo-package/**" 19 | - ".github/workflows/_internal-integration.yaml" 20 | - ".github/workflows/integration.yaml" 21 | - "supported-version/**" 22 | - "!(**/*.md)" 23 | 24 | jobs: 25 | compute_matrix: 26 | runs-on: ubuntu-latest 27 | outputs: 28 | matrix: ${{ steps.supported-version.outputs.matrix }} 29 | steps: 30 | - uses: actions/checkout@v4 31 | - uses: ./supported-version 32 | with: 33 | kind: currently-supported 34 | id: supported-version 35 | - run: echo ${{ steps.supported-version.outputs.matrix }} 36 | integration-workflow: 37 | needs: compute_matrix 38 | uses: ./.github/workflows/integration.yaml 39 | with: 40 | package_name: mage-os/magento2-demo-package 41 | source_folder: $GITHUB_WORKSPACE/_test/demo-package 42 | matrix: ${{ needs.compute_matrix.outputs.matrix }} 43 | test_command: ../../../vendor/bin/phpunit ../../../vendor/mage-os/magento2-demo-package/Test/Integration 44 | fail-fast: false 45 | secrets: 46 | composer_auth: ${{ secrets.COMPOSER_AUTH }} 47 | -------------------------------------------------------------------------------- /.github/workflows/_internal-semver-compare.yaml: -------------------------------------------------------------------------------- 1 | name: Test semvar-compare action 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - ".github/workflows/_internal-semver-compare.yaml" 9 | - "semver-compare/**" 10 | - "!(**/*.md)" 11 | pull_request: 12 | branches: 13 | - main 14 | paths: 15 | - ".github/workflows/_internal-semver-compare.yaml" 16 | - "semver-compare/**" 17 | - "!(**/*.md)" 18 | 19 | jobs: 20 | semver-compare: 21 | runs-on: ubuntu-latest 22 | steps: 23 | - uses: actions/checkout@v4 24 | 25 | - uses: ./semver-compare 26 | id: version-compare-1 27 | with: 28 | version: 2.2.3 29 | compare_against: 2.3 30 | 31 | - uses: ./semver-compare 32 | id: version-compare-2 33 | with: 34 | version: 2 35 | compare_against: 2.0.1 36 | 37 | - uses: ./semver-compare 38 | id: version-compare-3 39 | with: 40 | version: 2.2.1 41 | compare_against: 2.2 42 | 43 | 44 | - uses: ./semver-compare 45 | id: version-compare-4 46 | with: 47 | version: 2.2.0 48 | compare_against: 2.2.0 49 | 50 | - name: Fail if 2.3 is not higher than 2.2.3 51 | if: steps.version-compare-1.outputs.result != -1 52 | shell: bash 53 | run: echo "FAIL because 2.3 must be higher than 2.2.3 Compare 2.2.3 to 2.3 renders ${{ steps.version-compare-1.outputs.result }}" && exit 1 54 | 55 | 56 | - name: Fail if 2.0.1 is not higher than 2 57 | if: steps.version-compare-2.outputs.result != -1 58 | shell: bash 59 | run: echo "FAIL because 2.0.1 must be higher than 2 Compare 2 to 2.0.1 renders ${{ steps.version-compare-2.outputs.result }}" && exit 1 60 | 61 | - name: Fail if 2.2.1 is not higher than 2.2 62 | if: steps.version-compare-3.outputs.result != 1 63 | shell: bash 64 | run: echo "FAIL because 2.2.1 must be higher than 2.2 Compare 2.2.1 to 2.2 renders ${{ steps.version-compare-3.outputs.result }}" && exit 1 65 | 66 | - name: Fail if 2.2.0 is not equals to 2.2.0 67 | if: steps.version-compare-4.outputs.result != 0 68 | shell: bash 69 | run: echo "FAIL because 2.2.0 must be equal to 2.2.0 Compare 2.2.0 to 2.2.0 renders ${{ steps.version-compare-4.outputs.result }}" && exit 1 70 | -------------------------------------------------------------------------------- /.github/workflows/_internal-setup-magento.yaml: -------------------------------------------------------------------------------- 1 | name: Setup Magento Test 2 | 3 | on: 4 | workflow_dispatch: {} 5 | push: 6 | branches: 7 | - main 8 | paths: 9 | - "setup-magento/**" 10 | - ".github/workflows/_internal-setup-magento.yaml" 11 | - "supported-version/**" 12 | - "!(**/*.md)" 13 | pull_request: 14 | branches: 15 | - main 16 | paths: 17 | - "setup-magento/**" 18 | - ".github/workflows/_internal-setup-magento.yaml" 19 | - "supported-version/**" 20 | - "!(**/*.md)" 21 | 22 | env: 23 | PSEUDO_REPO_FOLDER: ../magento_repo 24 | magento_folder: ../magento2 25 | MAGENTO_COMPOSER_REPO: "https://mirror.mage-os.org/" 26 | 27 | jobs: 28 | compute_matrix: 29 | runs-on: ubuntu-latest 30 | outputs: 31 | matrix: ${{ steps.supported-version.outputs.matrix }} 32 | steps: 33 | - uses: actions/checkout@v4 34 | - uses: ./supported-version 35 | with: 36 | kind: currently-supported 37 | id: supported-version 38 | - run: echo ${{ steps.supported-version.outputs.matrix }} 39 | 40 | setup-magento-store: 41 | needs: compute_matrix 42 | strategy: 43 | matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }} 44 | fail-fast: false 45 | runs-on: ubuntu-latest 46 | steps: 47 | - uses: actions/checkout@v4 48 | 49 | - run: | 50 | PSEUDO_STORE_FULL_PATH=$(realpath "${{ env.PSEUDO_REPO_FOLDER }}") 51 | echo "PSEUDO_STORE_FULL_PATH=$PSEUDO_STORE_FULL_PATH" >> $GITHUB_ENV 52 | name: Generate Full Pseudo Store Path 53 | shell: bash 54 | 55 | - name: Set PHP Version 56 | uses: shivammathur/setup-php@v2 57 | with: 58 | php-version: ${{ matrix.php }} 59 | tools: composer:v${{ matrix.composer }} 60 | 61 | - uses: actions/cache@v4 62 | id: setup-magento-store-cache 63 | with: 64 | key: setup-magento-ci | ${{ runner.os }} | ${{ matrix.magento }} 65 | path: ${{ env.PSEUDO_STORE_FULL_PATH }} 66 | 67 | - run: composer create-project --repository-url="${{ env.MAGENTO_COMPOSER_REPO }}" "${{ matrix.magento }}" "${{ env.PSEUDO_REPO_FOLDER }}" --no-install 68 | name: Create Store to simulate a real Magento store in a real repo. 69 | if: steps.setup-magento-store-cache.outputs.cache-hit != 'true' 70 | env: 71 | COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }} 72 | 73 | - uses: ./fix-magento-install 74 | name: Fix Magento Out of Box Install Issues 75 | with: 76 | magento_directory: ${{ env.PSEUDO_REPO_FOLDER }} 77 | if: steps.setup-magento-store-cache.outputs.cache-hit != 'true' 78 | env: 79 | COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }} 80 | 81 | - run: composer install 82 | shell: bash 83 | working-directory: "${{ env.PSEUDO_REPO_FOLDER }}" 84 | if: steps.setup-magento-store-cache.outputs.cache-hit != 'true' 85 | env: 86 | COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }} 87 | 88 | - run: git init && git config user.email "you@example.com" && git config user.name "Your Name" && git add . && git commit -m "init" && git clean -fdx 89 | working-directory: "${{ env.PSEUDO_REPO_FOLDER }}" 90 | if: steps.setup-magento-store-cache.outputs.cache-hit != 'true' 91 | 92 | - run: cp -R ${{ env.PSEUDO_REPO_FOLDER }} ${{ env.magento_folder }} 93 | shell: bash 94 | 95 | - uses: ./setup-magento 96 | id: setup-magento 97 | with: 98 | php-version: ${{ matrix.php }} 99 | tools: composer:v${{ matrix.composer }} 100 | mode: store 101 | working-directory: ${{ env.magento_folder }} 102 | composer_auth: ${{ secrets.COMPOSER_AUTH }} 103 | 104 | - uses: graycoreio/github-actions-magento2/cache-magento@main 105 | with: 106 | mode: 'store' 107 | composer_cache_key: '${{ matrix.magento }}' 108 | 109 | - run: composer install 110 | name: Composer install 111 | shell: bash 112 | working-directory: ${{ steps.setup-magento.outputs.path }} 113 | env: 114 | COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }} 115 | 116 | setup-magento-extension: 117 | runs-on: ubuntu-latest 118 | steps: 119 | - uses: actions/checkout@v4 120 | 121 | - uses: ./setup-magento 122 | id: setup-magento 123 | with: 124 | php-version: 8.4 125 | tools: composer:v2 126 | mode: extension 127 | magento_repository: ${{ env.MAGENTO_COMPOSER_REPO }} 128 | composer_auth: ${{ secrets.COMPOSER_AUTH }} 129 | magento_version: magento/project-community-edition:2.4.8 130 | 131 | - uses: graycoreio/github-actions-magento2/cache-magento@main 132 | with: 133 | mode: 'extension' 134 | composer_cache_key: 'magento/project-community-edition:2.4.8' 135 | 136 | - run: composer install 137 | name: Composer install 138 | shell: bash 139 | working-directory: ${{ steps.setup-magento.outputs.path }} 140 | env: 141 | COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }} 142 | -------------------------------------------------------------------------------- /.github/workflows/_internal-unit.yaml: -------------------------------------------------------------------------------- 1 | name: Unit Test 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - "_test/demo-package/**" 9 | - ".github/workflows/_internal-unit.yaml" 10 | - "unit-test/**" 11 | - "!(**/*.md)" 12 | pull_request: 13 | branches: 14 | - main 15 | paths: 16 | - "_test/demo-package/**" 17 | - ".github/workflows/_internal-unit.yaml" 18 | - "unit-test/**" 19 | - "!(**/*.md)" 20 | 21 | jobs: 22 | unit-test: 23 | strategy: 24 | matrix: 25 | php_version: 26 | - 7.4 27 | - 8.1 28 | runs-on: ubuntu-latest 29 | steps: 30 | - uses: actions/checkout@v4 31 | - uses: ./unit-test 32 | with: 33 | source_folder: _test/demo-package 34 | php_version: ${{ matrix.php_version }} 35 | -------------------------------------------------------------------------------- /.github/workflows/_internal_test_actions.yaml: -------------------------------------------------------------------------------- 1 | name: Test Actions 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - ".github/workflows/_internal-supported-version.yaml" 9 | - "supported-version/**" 10 | - "package-lock.json" 11 | - "!(**/*.md)" 12 | pull_request: 13 | branches: 14 | - main 15 | paths: 16 | - ".github/workflows/_internal-supported-version.yaml" 17 | - "supported-version/**" 18 | - "package-lock.json" 19 | - "!(**/*.md)" 20 | 21 | jobs: 22 | unit-test: 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v4 26 | 27 | - run: npm ci 28 | shell: bash 29 | 30 | - run: npm test 31 | shell: bash -------------------------------------------------------------------------------- /.github/workflows/integration-README.md: -------------------------------------------------------------------------------- 1 | # Integration Tests for a Magento Package 2 | 3 | A Github Workflow that runs the Integration Tests of a Magento Package 4 | 5 | ## Inputs 6 | 7 | See the [integration.yaml](./integration.yaml) 8 | 9 | | Input | Description | Required | Default | 10 | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------- | 11 | | matrix | JSON string of [version matrix for Magento](./#matrix-format) | true | NULL | 12 | | fail-fast | Same as Github's [fail-fast](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast) | false | true | 13 | | package_name | The name of the package | true | NULL | 14 | | source_folder | The source folder of the package | false | $GITHUB_WORKSPACE | 15 | | magento_directory | The folder where Magento will be installed | false | ../magento2 | 16 | | magento_repository | Where to install Magento from | false | https://mirror.mage-os.org/ | 17 | | test_command | The integration test command to run | false | "../../../vendor/bin/phpunit" | 18 | | composer_cache_key | A key to version the composer cache. Can be incremented if you need to bust the cache. | false | "" | 19 | 20 | ## Secrets 21 | | Input | Description | Required | Default | 22 | | ------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | 23 | | composer_auth | JSON string of [composer credentials](https://devdocs.magento.com/guides/v2.4/install-gde/prereq/connect-auth.html) | false | NULL | 24 | 25 | ### Matrix Format 26 | 27 | The Magento matrix format outlined by the [supported versions action.](https://github.com/graycoreio/github-actions-magento2/tree/main/supported-version/supported.json) 28 | 29 | 30 | ## Usage 31 | 32 | ```yml 33 | name: Integration Test 34 | 35 | on: 36 | push: 37 | branches: 38 | - main 39 | pull_request: 40 | branches: 41 | - main 42 | 43 | jobs: 44 | compute_matrix: 45 | runs-on: ubuntu-latest 46 | outputs: 47 | matrix: ${{ steps.supported-version.outputs.matrix }} 48 | steps: 49 | - uses: actions/checkout@v2 50 | - uses: graycoreio/github-actions-magento2/supported-version@main 51 | id: supported-version 52 | - run: echo ${{ steps.supported-version.outputs.matrix }} 53 | integration-workflow: 54 | needs: compute_matrix 55 | uses: graycoreio/github-actions-magento2/.github/workflows/integration.yaml@main 56 | with: 57 | package_name: my-vendor/package 58 | matrix: ${{ needs.compute_matrix.outputs.matrix }} 59 | test_command: ../../../vendor/bin/phpunit ../../../vendor/my-vendor/package/Test/Integration 60 | secrets: 61 | composer_auth: ${{ secrets.COMPOSER_AUTH }} 62 | ``` 63 | -------------------------------------------------------------------------------- /.github/workflows/integration.yaml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_call: 3 | inputs: 4 | use_local_source: 5 | type: boolean 6 | required: false 7 | default: true 8 | description: "Whether or not you want to test your local package or not." 9 | 10 | source_folder: 11 | type: string 12 | required: false 13 | default: $GITHUB_WORKSPACE 14 | description: "The source folder of the package" 15 | 16 | package_name: 17 | type: string 18 | required: true 19 | description: "The name of the package" 20 | 21 | magento_directory: 22 | type: string 23 | required: false 24 | default: "../magento2" 25 | description: "The folder where Magento will be installed" 26 | 27 | magento_repository: 28 | type: string 29 | required: false 30 | default: "https://mirror.mage-os.org/" 31 | description: "Where to install Magento from" 32 | 33 | matrix: 34 | type: string 35 | required: true 36 | description: "The matrix of Magento versions to test against" 37 | 38 | fail-fast: 39 | type: boolean 40 | required: false 41 | default: true 42 | 43 | test_command: 44 | type: string 45 | required: false 46 | default: ../../../vendor/bin/phpunit 47 | description: "The integration test command to run" 48 | 49 | composer_cache_key: 50 | type: string 51 | required: false 52 | default: '' 53 | description: A key to version the composer cache. Can be incremented if you need to bust the cache. 54 | 55 | secrets: 56 | composer_auth: 57 | required: false 58 | 59 | jobs: 60 | integration_test: 61 | runs-on: ${{ matrix.os }} 62 | strategy: 63 | fail-fast: ${{ inputs.fail-fast }} 64 | matrix: ${{ fromJSON(inputs.matrix) }} 65 | services: 66 | elasticsearch: 67 | image: ${{ matrix.elasticsearch }} 68 | env: 69 | # By default, ElasticSearch refuses to spawn in single node configuration, as it expects redundancy. 70 | # This is a dev environment, so redundancy is just wasteful. 71 | discovery.type: single-node 72 | # Disable HTTPS and password authentication 73 | # this is a local dev environment, so the added CA chain complexity is an extreme overkill 74 | xpack.security.enabled: false 75 | xpack.security.http.ssl.enabled: false 76 | xpack.security.transport.ssl.enabled: false 77 | 78 | options: >- 79 | --health-cmd "curl http://localhost:9200/_cluster/health" 80 | --health-interval 10s 81 | --health-timeout 5s 82 | --health-retries 10 83 | ports: 84 | - 9200:9200 85 | 86 | mysql: 87 | image: ${{ matrix.mysql }} 88 | env: 89 | MYSQL_DATABASE: magento_integration_tests 90 | MYSQL_USER: user 91 | MYSQL_PASSWORD: password 92 | MYSQL_ROOT_PASSWORD: rootpassword 93 | ports: 94 | - 3306:3306 95 | options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 96 | 97 | rabbitmq: 98 | image: ${{ matrix.rabbitmq }} 99 | env: 100 | RABBITMQ_DEFAULT_USER: guest 101 | RABBITMQ_DEFAULT_PASS: guest 102 | ports: 103 | - 5672:5672 104 | steps: 105 | - uses: actions/checkout@v4 106 | - name: Set PHP Version 107 | uses: shivammathur/setup-php@v2 108 | with: 109 | php-version: ${{ matrix.php }} 110 | tools: composer:v${{ matrix.composer }} 111 | coverage: none 112 | 113 | - run: composer create-project --repository-url="${{ inputs.magento_repository }}" "${{ matrix.magento }}" ${{ inputs.magento_directory }} --no-install 114 | shell: bash 115 | env: 116 | COMPOSER_AUTH: ${{ secrets.composer_auth }} 117 | name: Create Magento ${{ matrix.magento }} Project 118 | 119 | - uses: graycoreio/github-actions-magento2/get-magento-version@main 120 | id: magento-version 121 | with: 122 | working-directory: ${{ inputs.magento_directory }} 123 | 124 | - name: Get Composer Cache Directory 125 | shell: bash 126 | working-directory: ${{ inputs.magento_directory }} 127 | id: composer-cache 128 | run: | 129 | echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT 130 | 131 | 132 | - name: "Cache Composer Packages" 133 | uses: actions/cache@v4 134 | with: 135 | key: "composer | v5 | ${{ inputs.composer_cache_key }} | ${{ hashFiles('composer.lock') }} | ${{ matrix.os }} | ${{ matrix.composer }} | ${{ matrix.php }} | ${{ matrix.magento }}" 136 | path: ${{ steps.composer-cache.outputs.dir }} 137 | 138 | - run: composer config repositories.local path ${{ inputs.source_folder }} 139 | name: Add Github Repo for Testing 140 | working-directory: ${{ inputs.magento_directory }} 141 | shell: bash 142 | if: ${{ inputs.use_local_source == true }} 143 | 144 | - run: composer require monolog/monolog:"<2.7.0" --no-update 145 | name: Fixup Monolog (https://github.com/magento/magento2/pull/35596) 146 | working-directory: ${{ inputs.magento_directory }} 147 | if: | 148 | steps.magento-version.outputs.version == '"2.4.4"' 149 | 150 | - run: composer require "dotmailer/dotmailer-magento2-extension-package:4.6.0-p2 as 4.6.0" --no-update 151 | name: Fixup Dotmailer (https://devdocs.magento.com/guides/v2.4/release-notes/release-notes-2-4-0-commerce.html#dotdigital-1) 152 | working-directory: ${{ inputs.magento_directory }} 153 | if: | 154 | steps.magento-version.outputs.version == '"2.4.0"' 155 | 156 | - run: | 157 | composer config --no-interaction allow-plugins.dealerdirect/phpcodesniffer-composer-installer true 158 | composer config --no-interaction allow-plugins.laminas/laminas-dependency-plugin true 159 | composer config --no-interaction allow-plugins.magento/* true 160 | name: Fixup Composer Plugins 161 | working-directory: ${{ inputs.magento_directory }} 162 | if: ${{ !startsWith(matrix.composer, '1') }} 163 | 164 | - run: | 165 | composer global require hirak/prestissimo 166 | name: Install composer plugin for parallel downloads 167 | working-directory: ${{ inputs.magento_directory }} 168 | if: ${{ startsWith(matrix.composer, '1') }} 169 | 170 | - run: composer require ${{ inputs.package_name }} "@dev" --no-update && composer install 171 | name: Require and attempt install 172 | working-directory: ${{ inputs.magento_directory }} 173 | shell: bash 174 | env: 175 | COMPOSER_CACHE_DIR: ${{ steps.composer-cache.outputs.dir }} 176 | COMPOSER_AUTH: ${{ secrets.composer_auth }} 177 | 178 | - name: Replace Configuration Settings for env 179 | working-directory: ${{ inputs.magento_directory }}/dev/tests/integration 180 | run: | 181 | sed -i "s/'db-host' => 'localhost'/'db-host' => '127.0.0.1'/" etc/install-config-mysql.php.dist 182 | sed -i "s/'db-user' => 'root'/'db-user' => 'user'/" etc/install-config-mysql.php.dist 183 | sed -i "s/'db-password' => '123123q'/'db-password' => 'password'/" etc/install-config-mysql.php.dist 184 | sed -i "s/'elasticsearch-host' => 'localhost'/'elasticsearch-host' => '127.0.0.1'/" etc/install-config-mysql.php.dist 185 | sed -i "s/'amqp-host' => 'localhost'/'amqp-host' => '127.0.0.1'/" etc/install-config-mysql.php.dist 186 | 187 | # mysql server 5.7 doesn't have the column-statistics expected by mysql client 8 (failing 2.3.7-p* builds) 188 | # ref: https://gist.github.com/tobias-khs/8dcf82f719a2b3a7c3b9604b4df53bbf 189 | - name: Switch from mysql-client 8 to mysql-client 5.7 190 | if: | 191 | steps.magento-version.outputs.version == '"2.3.7-p3"' || steps.magento-version.outputs.version == '"2.3.7-p4"' 192 | run: | 193 | mkdir -p /tmp/mysql-5.7 194 | cd /tmp/mysql-5.7 195 | sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* 196 | sudo rm -rf /etc/mysql /var/lib/mysql 197 | sudo apt-get autoremove 198 | sudo apt-get autoclean 199 | wget --quiet https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.30-1ubuntu18.04_amd64.deb-bundle.tar 200 | tar -xf mysql-server_5.7.30-1ubuntu18.04_amd64.deb-bundle.tar 201 | sudo dpkg -i mysql-common_5.7.30-1ubuntu18.04_amd64.deb 202 | sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb 203 | sudo dpkg -i mysql-community-client_5.7.30-1ubuntu18.04_amd64.deb 204 | sudo dpkg -i mysql-client_5.7.30-1ubuntu18.04_amd64.deb 205 | sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb 206 | mysqldump --version 207 | 208 | - name: Enable log-bin-trust-function-creators 209 | run: | 210 | mysql -h127.0.0.1 -uroot -prootpassword -e "SET GLOBAL log_bin_trust_function_creators = 1;" 211 | 212 | 213 | - run: ${{ inputs.test_command }} 214 | working-directory: ${{ inputs.magento_directory }}/dev/tests/integration 215 | name: Run Integration Tests 216 | 217 | - name: Upload test sandbox dir 218 | uses: actions/upload-artifact@v4 219 | if: failure() 220 | with: 221 | name: sandbox-data-${{ steps.magento-version.outputs.version }} 222 | path: /home/runner/work/infrastructure/magento2/dev/tests/integration/tmp/sandbox-* 223 | retention-days: 3 224 | 225 | -------------------------------------------------------------------------------- /.github/workflows/release-please.yml: -------------------------------------------------------------------------------- 1 | name: Create Release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | release-please: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: google-github-actions/release-please-action@v4 13 | with: 14 | token: ${{ secrets.GRAYCORE_GITHUB_TOKEN }} 15 | command: manifest 16 | default-branch: main 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .idea/ 3 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v18.18.0 -------------------------------------------------------------------------------- /.release-please-manifest.json: -------------------------------------------------------------------------------- 1 | {".":"3.0.0"} 2 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint" 4 | ] 5 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ## [3.0.0](https://github.com/graycoreio/github-actions-magento2/compare/v2.0.0...v3.0.0) (2025-04-09) 6 | 7 | 8 | ### ⚠ BREAKING CHANGES 9 | 10 | * **coding-standard:** use magento/php-compatibility-fork ([#190](https://github.com/graycoreio/github-actions-magento2/issues/190)) 11 | 12 | ### Features 13 | 14 | * **setup-magento:** add support for composer auth ([#193](https://github.com/graycoreio/github-actions-magento2/issues/193)) ([01cbea1](https://github.com/graycoreio/github-actions-magento2/commit/01cbea18c9649984893afd432a1cdfa4568a5273)) 15 | * **supported-version:** add recent kind ([#188](https://github.com/graycoreio/github-actions-magento2/issues/188)) ([2f1b2ea](https://github.com/graycoreio/github-actions-magento2/commit/2f1b2eaa5da485a687ecda0fdbf38055e13c5a86)) 16 | * **supported-version:** add v2.4.4-p13, v2.4.5-p12, v2.4.6-p10, v2.4.7-p5 and v2.4.8 ([#187](https://github.com/graycoreio/github-actions-magento2/issues/187)) ([21c3bb3](https://github.com/graycoreio/github-actions-magento2/commit/21c3bb34363c94003bf031f837c1599b8e08f25b)) 17 | 18 | 19 | ### Bug Fixes 20 | 21 | * **coding-standard:** use magento/php-compatibility-fork ([#190](https://github.com/graycoreio/github-actions-magento2/issues/190)) ([0008e86](https://github.com/graycoreio/github-actions-magento2/commit/0008e8642db9b997005c3848cf532f4b1cf0a17d)) 22 | * **supported-version:** adjust failing tests ([#195](https://github.com/graycoreio/github-actions-magento2/issues/195)) ([f48c544](https://github.com/graycoreio/github-actions-magento2/commit/f48c544053e49d76c4ac5aac6743ee6521a700aa)) 23 | 24 | ## [2.0.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.6.0...v2.0.0) (2025-03-25) 25 | 26 | 27 | ### ⚠ BREAKING CHANGES 28 | 29 | * replace mage-os/github-actions with graycoreio/github-actions-magento2 30 | * remove unmaintained workflows 31 | 32 | ### Features 33 | 34 | * add `cache-magento` action ([#87](https://github.com/graycoreio/github-actions-magento2/issues/87)) ([f5d43a5](https://github.com/graycoreio/github-actions-magento2/commit/f5d43a5184d20dc60b5e45d47b9d14300eb14754)) 35 | * add `fix-magento` action ([#86](https://github.com/graycoreio/github-actions-magento2/issues/86)) ([856d2df](https://github.com/graycoreio/github-actions-magento2/commit/856d2df4819a5d0cdff6087a005ca966c7d409c0)) 36 | * add coding standard action ([#51](https://github.com/graycoreio/github-actions-magento2/issues/51)) ([2a102c2](https://github.com/graycoreio/github-actions-magento2/commit/2a102c253d319fc463b1006ea7cc020b2ffdcb6c)) 37 | * add Installation Test Action ([#1](https://github.com/graycoreio/github-actions-magento2/issues/1)) ([4bc0854](https://github.com/graycoreio/github-actions-magento2/commit/4bc0854cfcc6f527c678f8e712f79500524efde6)) 38 | * add integration test workflow ([#3](https://github.com/graycoreio/github-actions-magento2/issues/3)) ([d638c02](https://github.com/graycoreio/github-actions-magento2/commit/d638c02ecab005d2541d0480522d4c5e823156f2)) 39 | * add magento releases 2.4.4-p9, 2.4.5-p8, 2.4.6-p6, and 2.4.7-p1 ([#226](https://github.com/graycoreio/github-actions-magento2/issues/226)) ([a326271](https://github.com/graycoreio/github-actions-magento2/commit/a3262710f1f605bf468b6fe70d5f1a5bd47b6bb4)) 40 | * add matrix to integration-test workflow ([#7](https://github.com/graycoreio/github-actions-magento2/issues/7)) ([fb1ac5f](https://github.com/graycoreio/github-actions-magento2/commit/fb1ac5f41aa183408aa32ec944536cf225831191)) 41 | * add new releases to the version matrix ([#232](https://github.com/graycoreio/github-actions-magento2/issues/232)) ([b633b21](https://github.com/graycoreio/github-actions-magento2/commit/b633b2120a2157aa13c3e7dd71b1cdbc0045e5d9)) 42 | * add project versions ([#110](https://github.com/graycoreio/github-actions-magento2/issues/110)) ([f7f0504](https://github.com/graycoreio/github-actions-magento2/commit/f7f0504691b19689227b4db17d333bca62f80cc0)) 43 | * add rabbitmq images with management plugin ([#125](https://github.com/graycoreio/github-actions-magento2/issues/125)) ([0f31e40](https://github.com/graycoreio/github-actions-magento2/commit/0f31e401b775c085720176a4ac7626c45d2b07d0)) 44 | * add releases 2.4.4-p6, 2.4.5-p5 and 2.4.6-p3 ([#169](https://github.com/graycoreio/github-actions-magento2/issues/169)) ([2086708](https://github.com/graycoreio/github-actions-magento2/commit/2086708ffc708b7685b579027163340a4ddfa44f)) 45 | * add runner version to supported version ([#7](https://github.com/graycoreio/github-actions-magento2/issues/7)) ([dd1a36b](https://github.com/graycoreio/github-actions-magento2/commit/dd1a36b2345cd9596b5d2688d5c6e1bc8725ffbd)) 46 | * add support for v2.3.7 on new vms ([#67](https://github.com/graycoreio/github-actions-magento2/issues/67)) ([2824849](https://github.com/graycoreio/github-actions-magento2/commit/28248496e0979dff3cb255abbfff84cdebd5697b)) 47 | * add support for v2.4.4-p2 and v2.4.5-p1 ([#69](https://github.com/graycoreio/github-actions-magento2/issues/69)) ([3e4d3c1](https://github.com/graycoreio/github-actions-magento2/commit/3e4d3c1645ad3ed8b2b0134f4c012335421c5fcb)) 48 | * add supported version matrix action ([#6](https://github.com/graycoreio/github-actions-magento2/issues/6)) ([6e81ef9](https://github.com/graycoreio/github-actions-magento2/commit/6e81ef96c7a0c8a1aa59554bf20ab202d7da4140)) 49 | * add unit test action ([#2](https://github.com/graycoreio/github-actions-magento2/issues/2)) ([72b1f25](https://github.com/graycoreio/github-actions-magento2/commit/72b1f25310b4918b4702526e2b45d5e99f063ebb)) 50 | * add upcoming release for mage-os 1.0.2 ([#223](https://github.com/graycoreio/github-actions-magento2/issues/223)) ([f1b13e8](https://github.com/graycoreio/github-actions-magento2/commit/f1b13e8984ec13e1a154e737c8494470f88b9a21)) 51 | * add upcoming release Mage-OS 1.0.3 to supported-version matrix ([#229](https://github.com/graycoreio/github-actions-magento2/issues/229)) ([6e50d0d](https://github.com/graycoreio/github-actions-magento2/commit/6e50d0d8de09da49ce12473b2577a2277e4d701e)) 52 | * allow fail-fast as an input argument ([#25](https://github.com/graycoreio/github-actions-magento2/issues/25)) ([2405cd1](https://github.com/graycoreio/github-actions-magento2/commit/2405cd1db7ff70a00c2e1ce58a20d0834bb39f33)) 53 | * allow using "next" version on supported version ([#58](https://github.com/graycoreio/github-actions-magento2/issues/58)) ([7431dcb](https://github.com/graycoreio/github-actions-magento2/commit/7431dcb7af723a6be20ef30db0f6978afacc572c)) 54 | * automatically allow the default Magento composer plugins ([#12](https://github.com/graycoreio/github-actions-magento2/issues/12)) ([d6e6688](https://github.com/graycoreio/github-actions-magento2/commit/d6e6688ead710b705198e7a7d1eda7004dc86070)) 55 | * **coding-standard:** add `ignore_warnings` flag ([#147](https://github.com/graycoreio/github-actions-magento2/issues/147)) ([4e21b18](https://github.com/graycoreio/github-actions-magento2/commit/4e21b18ee9187253fc5d172d0ad1439bf304872e)) 56 | * **get-composer-version:** create new action ([#145](https://github.com/graycoreio/github-actions-magento2/issues/145)) ([bc840e1](https://github.com/graycoreio/github-actions-magento2/commit/bc840e13727b4273aa9c22e4116a05cde58b046d)) 57 | * **get-magento-version:** add get-magento-version action ([#72](https://github.com/graycoreio/github-actions-magento2/issues/72)) ([fd858c3](https://github.com/graycoreio/github-actions-magento2/commit/fd858c30633e97bdc93cc8c2fe7adaef99a6bf7c)) 58 | * install composer via shivammathur/setup-php github action ([#23](https://github.com/graycoreio/github-actions-magento2/issues/23)) ([49bbcc8](https://github.com/graycoreio/github-actions-magento2/commit/49bbcc89a7d7103fda34820ab165ec2cd1366123)) 59 | * **integration:** fix integration tests for v2.4.0 ([#46](https://github.com/graycoreio/github-actions-magento2/issues/46)) ([b4e7831](https://github.com/graycoreio/github-actions-magento2/commit/b4e7831c93ad82caa0abe3bdce52e4af2eda333b)) 60 | * **integration:** Install composer plugin for parallel downloads ([#24](https://github.com/graycoreio/github-actions-magento2/issues/24)) ([97b4223](https://github.com/graycoreio/github-actions-magento2/commit/97b4223c0c1f441b5567ca606bff84181218d03a)) 61 | * make cache key consistent (and configurable) ([#38](https://github.com/graycoreio/github-actions-magento2/issues/38)) ([cbbba62](https://github.com/graycoreio/github-actions-magento2/commit/cbbba628dd290c81ed4708d3d3bb87abadb0c7ce)) 62 | * make phpcs severity level configurable ([#130](https://github.com/graycoreio/github-actions-magento2/issues/130)) ([81a1eb2](https://github.com/graycoreio/github-actions-magento2/commit/81a1eb2273864842286a4427519c9d29146c5ac8)) 63 | * remove COMPOSER_AUTH requirement ([#18](https://github.com/graycoreio/github-actions-magento2/issues/18)) ([e92a242](https://github.com/graycoreio/github-actions-magento2/commit/e92a242f0af477623421949ade130ab316281142)) 64 | * remove unmaintained workflows ([4c536e3](https://github.com/graycoreio/github-actions-magento2/commit/4c536e3d96f78355ed7b37388564f3468040172b)) 65 | * replace mage-os/github-actions with graycoreio/github-actions-magento2 ([9c06178](https://github.com/graycoreio/github-actions-magento2/commit/9c06178b30d156338b5ced8bd8bdbaec79982291)) 66 | * run setup:di:compile on push ([#116](https://github.com/graycoreio/github-actions-magento2/issues/116)) ([22aca78](https://github.com/graycoreio/github-actions-magento2/commit/22aca78cc8c648549b7a139fd2739ac9e8db916d)) 67 | * **semver-compare:** add new Github action ([#146](https://github.com/graycoreio/github-actions-magento2/issues/146)) ([01e4ccb](https://github.com/graycoreio/github-actions-magento2/commit/01e4ccbc54ebe8996c3f25d777a0b4fdc1288e13)) 68 | * **setup-magento:** add a new action to setup Magento ([#76](https://github.com/graycoreio/github-actions-magento2/issues/76)) ([7b74ff7](https://github.com/graycoreio/github-actions-magento2/commit/7b74ff738699d86aafed7690464302b1f07e59d0)) 69 | * **supported-version:** add all kind ([#36](https://github.com/graycoreio/github-actions-magento2/issues/36)) ([26c354d](https://github.com/graycoreio/github-actions-magento2/commit/26c354d8d4d1f7ce689f37236b7b0ee27b11221f)) 70 | * **supported-version:** add support for v2.4.5 ([#35](https://github.com/graycoreio/github-actions-magento2/issues/35)) ([affb1ce](https://github.com/graycoreio/github-actions-magento2/commit/affb1ce1f942799647f57eb6b1096bf0e4afd560)) 71 | * **supported-version:** add user-defined kind ([#28](https://github.com/graycoreio/github-actions-magento2/issues/28)) ([664360e](https://github.com/graycoreio/github-actions-magento2/commit/664360ede2ef775a6e0c7876dd103e66a977c4eb)) 72 | * **supported-version:** dynamically compute ([#120](https://github.com/graycoreio/github-actions-magento2/issues/120)) ([dbc889f](https://github.com/graycoreio/github-actions-magento2/commit/dbc889f7cea548d319a5cd206269b007319d53ec)) 73 | * **supported-version:** Magento v2.4.6 ([d3b1ab6](https://github.com/graycoreio/github-actions-magento2/commit/d3b1ab6b344b6a1ff705d2e57ad400ab506456be)) 74 | * **supported-version:** package @actions/core:1.10.0 ([e4f0f85](https://github.com/graycoreio/github-actions-magento2/commit/e4f0f85e38ac6e342780d2bdaac28a19c1cab49d)) 75 | * **supported-versions:** add release date ([#100](https://github.com/graycoreio/github-actions-magento2/issues/100)) ([5599a0d](https://github.com/graycoreio/github-actions-magento2/commit/5599a0d2e790952fbdfbbc23b9a1c92aa26eed35)) 76 | * **supported-version:** validate custom_versions ([5c19804](https://github.com/graycoreio/github-actions-magento2/commit/5c198049f7002fff785d07f344f3773ce92e2c0f)) 77 | * update actions/checkout to v3 ([#23](https://github.com/graycoreio/github-actions-magento2/issues/23)) ([8a209b9](https://github.com/graycoreio/github-actions-magento2/commit/8a209b982b5dbf22b6f620d9c6061577e29d0dcb)) 78 | * use Mage-OS by default ([#17](https://github.com/graycoreio/github-actions-magento2/issues/17)) ([d1cced8](https://github.com/graycoreio/github-actions-magento2/commit/d1cced897a3008e53b4e3b9827d9c9853d70cfa4)) 79 | 80 | 81 | ### Bug Fixes 82 | 83 | * add missing build for 1.4.0 of supported versions ([#64](https://github.com/graycoreio/github-actions-magento2/issues/64)) ([e48a346](https://github.com/graycoreio/github-actions-magento2/commit/e48a3463c5054012f748bb64eca2bab51220cdc0)) 84 | * coding-standard-baseline: Run baseline test on modified files only (fixes [#227](https://github.com/graycoreio/github-actions-magento2/issues/227)) ([#228](https://github.com/graycoreio/github-actions-magento2/issues/228)) ([e29ea44](https://github.com/graycoreio/github-actions-magento2/commit/e29ea44597d69cf743bc172fd84b8f9f238ff3b6)) 85 | * continue to use elasticsearch instead of opensearch for now ([#224](https://github.com/graycoreio/github-actions-magento2/issues/224)) ([dd47d22](https://github.com/graycoreio/github-actions-magento2/commit/dd47d22478c7fae917f48261d9a32b0ca04aec3c)) 86 | * **installation-test:** handle non-range composer versions ([c136c11](https://github.com/graycoreio/github-actions-magento2/commit/c136c111d923fa3c9d4f3fbeb38cd81d593168da)) 87 | * **installation:** allow plugins in installation tests ([#14](https://github.com/graycoreio/github-actions-magento2/issues/14)) ([fcc0b85](https://github.com/graycoreio/github-actions-magento2/commit/fcc0b854448b5ca7de72000fce3f1f3a4266cd33)) 88 | * **integration:** force to explicitly older monolog versions ([#12](https://github.com/graycoreio/github-actions-magento2/issues/12)) ([#16](https://github.com/graycoreio/github-actions-magento2/issues/16)) ([e9ea198](https://github.com/graycoreio/github-actions-magento2/commit/e9ea198bbe945bac89f80b600804b0d481c88917)) 89 | * **integration:** only run monolog fixup on v2.4.4 ([#37](https://github.com/graycoreio/github-actions-magento2/issues/37)) ([841670a](https://github.com/graycoreio/github-actions-magento2/commit/841670a97fccd29d52b760bf0989ac5bb224ba3d)) 90 | * make es8 run correctly in integration tests ([#66](https://github.com/graycoreio/github-actions-magento2/issues/66)) ([85d11af](https://github.com/graycoreio/github-actions-magento2/commit/85d11af76e15b6728c3cd1e4d8fb45289b2b1c8c)) 91 | * pass correct repo url for nightly ([#158](https://github.com/graycoreio/github-actions-magento2/issues/158)) ([b645c23](https://github.com/graycoreio/github-actions-magento2/commit/b645c2327debb49615e1110064c35732aa1b59f4)) 92 | * PHPcs baseline composer conflicts ([bf34ec4](https://github.com/graycoreio/github-actions-magento2/commit/bf34ec4964e683e47b442f82d1cdb0d74b01de69)) 93 | * **supported-version:** falsiness of custom_versions ([c9b7f41](https://github.com/graycoreio/github-actions-magento2/commit/c9b7f41525923edd1fc40b635d776ad5c2ebf6ec)) 94 | * **supported-version:** matrix innaccessible outside of repo ([#8](https://github.com/graycoreio/github-actions-magento2/issues/8)) ([56cff9d](https://github.com/graycoreio/github-actions-magento2/commit/56cff9de0b3bb16e4d921bca6a69ea28eae237e2)) 95 | * **supported-version:** pin-back MySQL to breaking change for tests ([#46](https://github.com/graycoreio/github-actions-magento2/issues/46)) ([4b9366f](https://github.com/graycoreio/github-actions-magento2/commit/4b9366fdf2ec72215c0e76dcabfe5e5bfee689de)) 96 | * **supported-versions:** GA Ubuntu-22.04 release ([#110](https://github.com/graycoreio/github-actions-magento2/issues/110)) ([b0e1a0a](https://github.com/graycoreio/github-actions-magento2/commit/b0e1a0a9439be892062a6f05161d83e7ae2c7cbf)) 97 | * **supported-versions:** nightly build matrix tag ([#152](https://github.com/graycoreio/github-actions-magento2/issues/152)) ([7f1821f](https://github.com/graycoreio/github-actions-magento2/commit/7f1821f6ac3faff2e2384212f33fcfdcc8cf4573)) 98 | * switch from tj-actions/changed-files to dorny/paths-filter ([87fe77f](https://github.com/graycoreio/github-actions-magento2/commit/87fe77f8a8dcf6828317894c4b849c4be041853f)) 99 | * use exact version of elasticsearch since there is no 8.11 tag ([#225](https://github.com/graycoreio/github-actions-magento2/issues/225)) ([b4f27f1](https://github.com/graycoreio/github-actions-magento2/commit/b4f27f19e5196ba6be3b6007cd3e71a40471aa4f)) 100 | 101 | ## [1.6.0](https://github.com/mage-os/github-actions/compare/v1.5.0...v1.6.0) (2025-03-07) 102 | 103 | 104 | ### Features 105 | 106 | * run setup:di:compile on push ([#116](https://github.com/mage-os/github-actions/issues/116)) ([22aca78](https://github.com/mage-os/github-actions/commit/22aca78cc8c648549b7a139fd2739ac9e8db916d)) 107 | 108 | ## [1.5.0](https://github.com/mage-os/github-actions/compare/v1.4.0...v1.5.0) (2024-12-30) 109 | 110 | 111 | ### Features 112 | 113 | * add magento releases 2.4.4-p9, 2.4.5-p8, 2.4.6-p6, and 2.4.7-p1 ([#226](https://github.com/mage-os/github-actions/issues/226)) ([a326271](https://github.com/mage-os/github-actions/commit/a3262710f1f605bf468b6fe70d5f1a5bd47b6bb4)) 114 | * add new releases to the version matrix ([#232](https://github.com/mage-os/github-actions/issues/232)) ([b633b21](https://github.com/mage-os/github-actions/commit/b633b2120a2157aa13c3e7dd71b1cdbc0045e5d9)) 115 | * add project versions ([#110](https://github.com/mage-os/github-actions/issues/110)) ([f7f0504](https://github.com/mage-os/github-actions/commit/f7f0504691b19689227b4db17d333bca62f80cc0)) 116 | * add releases 2.4.4-p6, 2.4.5-p5 and 2.4.6-p3 ([#169](https://github.com/mage-os/github-actions/issues/169)) ([2086708](https://github.com/mage-os/github-actions/commit/2086708ffc708b7685b579027163340a4ddfa44f)) 117 | * add support for v2.3.7 on new vms ([#67](https://github.com/mage-os/github-actions/issues/67)) ([2824849](https://github.com/mage-os/github-actions/commit/28248496e0979dff3cb255abbfff84cdebd5697b)) 118 | * add upcoming release for mage-os 1.0.2 ([#223](https://github.com/mage-os/github-actions/issues/223)) ([f1b13e8](https://github.com/mage-os/github-actions/commit/f1b13e8984ec13e1a154e737c8494470f88b9a21)) 119 | * add upcoming release Mage-OS 1.0.3 to supported-version matrix ([#229](https://github.com/mage-os/github-actions/issues/229)) ([6e50d0d](https://github.com/mage-os/github-actions/commit/6e50d0d8de09da49ce12473b2577a2277e4d701e)) 120 | * **coding-standard:** add `ignore_warnings` flag ([#147](https://github.com/mage-os/github-actions/issues/147)) ([4e21b18](https://github.com/mage-os/github-actions/commit/4e21b18ee9187253fc5d172d0ad1439bf304872e)) 121 | * **get-composer-version:** create new action ([#145](https://github.com/mage-os/github-actions/issues/145)) ([bc840e1](https://github.com/mage-os/github-actions/commit/bc840e13727b4273aa9c22e4116a05cde58b046d)) 122 | * **semver-compare:** add new Github action ([#146](https://github.com/mage-os/github-actions/issues/146)) ([01e4ccb](https://github.com/mage-os/github-actions/commit/01e4ccbc54ebe8996c3f25d777a0b4fdc1288e13)) 123 | * **supported-versions:** add release date ([#100](https://github.com/mage-os/github-actions/issues/100)) ([5599a0d](https://github.com/mage-os/github-actions/commit/5599a0d2e790952fbdfbbc23b9a1c92aa26eed35)) 124 | 125 | 126 | ### Bug Fixes 127 | 128 | * add missing build for 1.4.0 of supported versions ([#64](https://github.com/mage-os/github-actions/issues/64)) ([e48a346](https://github.com/mage-os/github-actions/commit/e48a3463c5054012f748bb64eca2bab51220cdc0)) 129 | * coding-standard-baseline: Run baseline test on modified files only (fixes [#227](https://github.com/mage-os/github-actions/issues/227)) ([#228](https://github.com/mage-os/github-actions/issues/228)) ([e29ea44](https://github.com/mage-os/github-actions/commit/e29ea44597d69cf743bc172fd84b8f9f238ff3b6)) 130 | * continue to use elasticsearch instead of opensearch for now ([#224](https://github.com/mage-os/github-actions/issues/224)) ([dd47d22](https://github.com/mage-os/github-actions/commit/dd47d22478c7fae917f48261d9a32b0ca04aec3c)) 131 | * make es8 run correctly in integration tests ([#66](https://github.com/mage-os/github-actions/issues/66)) ([85d11af](https://github.com/mage-os/github-actions/commit/85d11af76e15b6728c3cd1e4d8fb45289b2b1c8c)) 132 | * pass correct repo url for nightly ([#158](https://github.com/mage-os/github-actions/issues/158)) ([b645c23](https://github.com/mage-os/github-actions/commit/b645c2327debb49615e1110064c35732aa1b59f4)) 133 | * PHPcs baseline composer conflicts ([bf34ec4](https://github.com/mage-os/github-actions/commit/bf34ec4964e683e47b442f82d1cdb0d74b01de69)) 134 | * **supported-versions:** nightly build matrix tag ([#152](https://github.com/mage-os/github-actions/issues/152)) ([7f1821f](https://github.com/mage-os/github-actions/commit/7f1821f6ac3faff2e2384212f33fcfdcc8cf4573)) 135 | * switch from tj-actions/changed-files to dorny/paths-filter ([87fe77f](https://github.com/mage-os/github-actions/commit/87fe77f8a8dcf6828317894c4b849c4be041853f)) 136 | * use exact version of elasticsearch since there is no 8.11 tag ([#225](https://github.com/mage-os/github-actions/issues/225)) ([b4f27f1](https://github.com/mage-os/github-actions/commit/b4f27f19e5196ba6be3b6007cd3e71a40471aa4f)) 137 | 138 | ## [1.4.0](https://github.com/mage-os/github-actions/compare/v1.3.0...v1.4.0) (2023-06-20) 139 | 140 | 141 | ### Features 142 | 143 | * make phpcs severity level configurable ([#130](https://github.com/mage-os/github-actions/issues/130)) ([81a1eb2](https://github.com/mage-os/github-actions/commit/81a1eb2273864842286a4427519c9d29146c5ac8)) 144 | * **supported-version:** validate custom_versions ([5c19804](https://github.com/mage-os/github-actions/commit/5c198049f7002fff785d07f344f3773ce92e2c0f)) 145 | 146 | 147 | ### Bug Fixes 148 | 149 | * **supported-version:** falsiness of custom_versions ([c9b7f41](https://github.com/mage-os/github-actions/commit/c9b7f41525923edd1fc40b635d776ad5c2ebf6ec)) 150 | 151 | ## [1.3.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.2.0...v1.3.0) (2023-03-15) 152 | 153 | 154 | ### Features 155 | 156 | * add `cache-magento` action ([#87](https://github.com/graycoreio/github-actions-magento2/issues/87)) ([f5d43a5](https://github.com/graycoreio/github-actions-magento2/commit/f5d43a5184d20dc60b5e45d47b9d14300eb14754)) 157 | * add `fix-magento` action ([#86](https://github.com/graycoreio/github-actions-magento2/issues/86)) ([856d2df](https://github.com/graycoreio/github-actions-magento2/commit/856d2df4819a5d0cdff6087a005ca966c7d409c0)) 158 | * add rabbitmq images with management plugin ([#125](https://github.com/graycoreio/github-actions-magento2/issues/125)) ([0f31e40](https://github.com/graycoreio/github-actions-magento2/commit/0f31e401b775c085720176a4ac7626c45d2b07d0)) 159 | * **get-magento-version:** add get-magento-version action ([#72](https://github.com/graycoreio/github-actions-magento2/issues/72)) ([fd858c3](https://github.com/graycoreio/github-actions-magento2/commit/fd858c30633e97bdc93cc8c2fe7adaef99a6bf7c)) 160 | * **setup-magento:** add a new action to setup Magento ([#76](https://github.com/graycoreio/github-actions-magento2/issues/76)) ([7b74ff7](https://github.com/graycoreio/github-actions-magento2/commit/7b74ff738699d86aafed7690464302b1f07e59d0)) 161 | * **supported-version:** dynamically compute ([#120](https://github.com/graycoreio/github-actions-magento2/issues/120)) ([dbc889f](https://github.com/graycoreio/github-actions-magento2/commit/dbc889f7cea548d319a5cd206269b007319d53ec)) 162 | * **supported-version:** Magento v2.4.6 ([d3b1ab6](https://github.com/graycoreio/github-actions-magento2/commit/d3b1ab6b344b6a1ff705d2e57ad400ab506456be)) 163 | 164 | 165 | ### Bug Fixes 166 | 167 | * **installation-test:** handle non-range composer versions ([c136c11](https://github.com/graycoreio/github-actions-magento2/commit/c136c111d923fa3c9d4f3fbeb38cd81d593168da)) 168 | * **supported-versions:** GA Ubuntu-22.04 release ([#110](https://github.com/graycoreio/github-actions-magento2/issues/110)) ([b0e1a0a](https://github.com/graycoreio/github-actions-magento2/commit/b0e1a0a9439be892062a6f05161d83e7ae2c7cbf)) 169 | 170 | ## [1.2.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.1.0...v1.2.0) (2022-10-11) 171 | 172 | 173 | ### Features 174 | 175 | * add coding standard action ([#51](https://github.com/graycoreio/github-actions-magento2/issues/51)) ([2a102c2](https://github.com/graycoreio/github-actions-magento2/commit/2a102c253d319fc463b1006ea7cc020b2ffdcb6c)) 176 | * add support for v2.4.4-p2 and v2.4.5-p1 ([#69](https://github.com/graycoreio/github-actions-magento2/issues/69)) ([3e4d3c1](https://github.com/graycoreio/github-actions-magento2/commit/3e4d3c1645ad3ed8b2b0134f4c012335421c5fcb)) 177 | * allow using "next" version on supported version ([#58](https://github.com/graycoreio/github-actions-magento2/issues/58)) ([7431dcb](https://github.com/graycoreio/github-actions-magento2/commit/7431dcb7af723a6be20ef30db0f6978afacc572c)) 178 | * **integration:** fix integration tests for v2.4.0 ([#46](https://github.com/graycoreio/github-actions-magento2/issues/46)) ([b4e7831](https://github.com/graycoreio/github-actions-magento2/commit/b4e7831c93ad82caa0abe3bdce52e4af2eda333b)) 179 | * **supported-version:** package @actions/core:1.10.0 ([e4f0f85](https://github.com/graycoreio/github-actions-magento2/commit/e4f0f85e38ac6e342780d2bdaac28a19c1cab49d)) 180 | 181 | 182 | ### Bug Fixes 183 | 184 | * **supported-version:** pin-back MySQL to breaking change for tests ([#46](https://github.com/graycoreio/github-actions-magento2/issues/46)) ([4b9366f](https://github.com/graycoreio/github-actions-magento2/commit/4b9366fdf2ec72215c0e76dcabfe5e5bfee689de)) 185 | 186 | ## [1.1.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.0.0...v1.1.0) (2022-08-14) 187 | 188 | 189 | ### Features 190 | 191 | * make cache key consistent (and configurable) ([#38](https://github.com/graycoreio/github-actions-magento2/issues/38)) ([cbbba62](https://github.com/graycoreio/github-actions-magento2/commit/cbbba628dd290c81ed4708d3d3bb87abadb0c7ce)) 192 | * **supported-version:** add all kind ([#36](https://github.com/graycoreio/github-actions-magento2/issues/36)) ([26c354d](https://github.com/graycoreio/github-actions-magento2/commit/26c354d8d4d1f7ce689f37236b7b0ee27b11221f)) 193 | * **supported-version:** add support for v2.4.5 ([#35](https://github.com/graycoreio/github-actions-magento2/issues/35)) ([affb1ce](https://github.com/graycoreio/github-actions-magento2/commit/affb1ce1f942799647f57eb6b1096bf0e4afd560)) 194 | 195 | 196 | ### Bug Fixes 197 | 198 | * **integration:** only run monolog fixup on v2.4.4 ([#37](https://github.com/graycoreio/github-actions-magento2/issues/37)) ([841670a](https://github.com/graycoreio/github-actions-magento2/commit/841670a97fccd29d52b760bf0989ac5bb224ba3d)) 199 | 200 | ## 1.0.0 (2022-08-06) 201 | 202 | 203 | ### Features 204 | 205 | * add Installation Test Action ([#1](https://github.com/graycoreio/github-actions-magento2/issues/1)) ([4bc0854](https://github.com/graycoreio/github-actions-magento2/commit/4bc0854cfcc6f527c678f8e712f79500524efde6)) 206 | * add integration test workflow ([#3](https://github.com/graycoreio/github-actions-magento2/issues/3)) ([d638c02](https://github.com/graycoreio/github-actions-magento2/commit/d638c02ecab005d2541d0480522d4c5e823156f2)) 207 | * add matrix to integration-test workflow ([#7](https://github.com/graycoreio/github-actions-magento2/issues/7)) ([fb1ac5f](https://github.com/graycoreio/github-actions-magento2/commit/fb1ac5f41aa183408aa32ec944536cf225831191)) 208 | * add runner version to supported version ([#7](https://github.com/graycoreio/github-actions-magento2/issues/7)) ([dd1a36b](https://github.com/graycoreio/github-actions-magento2/commit/dd1a36b2345cd9596b5d2688d5c6e1bc8725ffbd)) 209 | * add supported version matrix action ([#6](https://github.com/graycoreio/github-actions-magento2/issues/6)) ([6e81ef9](https://github.com/graycoreio/github-actions-magento2/commit/6e81ef96c7a0c8a1aa59554bf20ab202d7da4140)) 210 | * add unit test action ([#2](https://github.com/graycoreio/github-actions-magento2/issues/2)) ([72b1f25](https://github.com/graycoreio/github-actions-magento2/commit/72b1f25310b4918b4702526e2b45d5e99f063ebb)) 211 | * allow fail-fast as an input argument ([#25](https://github.com/graycoreio/github-actions-magento2/issues/25)) ([2405cd1](https://github.com/graycoreio/github-actions-magento2/commit/2405cd1db7ff70a00c2e1ce58a20d0834bb39f33)) 212 | * automatically allow the default Magento composer plugins ([#12](https://github.com/graycoreio/github-actions-magento2/issues/12)) ([d6e6688](https://github.com/graycoreio/github-actions-magento2/commit/d6e6688ead710b705198e7a7d1eda7004dc86070)) 213 | * install composer via shivammathur/setup-php github action ([#23](https://github.com/graycoreio/github-actions-magento2/issues/23)) ([49bbcc8](https://github.com/graycoreio/github-actions-magento2/commit/49bbcc89a7d7103fda34820ab165ec2cd1366123)) 214 | * **integration:** Install composer plugin for parallel downloads ([#24](https://github.com/graycoreio/github-actions-magento2/issues/24)) ([97b4223](https://github.com/graycoreio/github-actions-magento2/commit/97b4223c0c1f441b5567ca606bff84181218d03a)) 215 | * remove COMPOSER_AUTH requirement ([#18](https://github.com/graycoreio/github-actions-magento2/issues/18)) ([e92a242](https://github.com/graycoreio/github-actions-magento2/commit/e92a242f0af477623421949ade130ab316281142)) 216 | * **supported-version:** add user-defined kind ([#28](https://github.com/graycoreio/github-actions-magento2/issues/28)) ([664360e](https://github.com/graycoreio/github-actions-magento2/commit/664360ede2ef775a6e0c7876dd103e66a977c4eb)) 217 | * update actions/checkout to v3 ([#23](https://github.com/graycoreio/github-actions-magento2/issues/23)) ([8a209b9](https://github.com/graycoreio/github-actions-magento2/commit/8a209b982b5dbf22b6f620d9c6061577e29d0dcb)) 218 | * use Mage-OS by default ([#17](https://github.com/graycoreio/github-actions-magento2/issues/17)) ([d1cced8](https://github.com/graycoreio/github-actions-magento2/commit/d1cced897a3008e53b4e3b9827d9c9853d70cfa4)) 219 | 220 | 221 | ### Bug Fixes 222 | 223 | * **installation:** allow plugins in installation tests ([#14](https://github.com/graycoreio/github-actions-magento2/issues/14)) ([fcc0b85](https://github.com/graycoreio/github-actions-magento2/commit/fcc0b854448b5ca7de72000fce3f1f3a4266cd33)) 224 | * **integration:** force to explicitly older monolog versions ([#12](https://github.com/graycoreio/github-actions-magento2/issues/12)) ([#16](https://github.com/graycoreio/github-actions-magento2/issues/16)) ([e9ea198](https://github.com/graycoreio/github-actions-magento2/commit/e9ea198bbe945bac89f80b600804b0d481c88917)) 225 | * **supported-version:** matrix innaccessible outside of repo ([#8](https://github.com/graycoreio/github-actions-magento2/issues/8)) ([56cff9d](https://github.com/graycoreio/github-actions-magento2/commit/56cff9de0b3bb16e4d921bca6a69ea28eae237e2)) 226 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @Mage-OS/infrastructure -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment 10 | include: 11 | 12 | * Using welcoming and inclusive language 13 | * Being respectful of differing viewpoints and experiences 14 | * Gracefully accepting constructive criticism 15 | * Focusing on what is best for the community 16 | * Showing empathy towards other community members 17 | 18 | Examples of unacceptable behavior by participants include: 19 | 20 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 21 | * Trolling, insulting/derogatory comments, and personal or political attacks 22 | * Public or private harassment 23 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 24 | * Other conduct which could reasonably be considered inappropriate in a professional setting 25 | 26 | ## Our Responsibilities 27 | 28 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 29 | 30 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 31 | 32 | ## Scope 33 | 34 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 35 | 36 | ## Enforcement 37 | 38 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project lead at [board@mage-os.org](mailto:board@mage-os.org). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 39 | 40 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 41 | 42 | ## Attribution 43 | 44 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 45 | 46 | [homepage]: https://www.contributor-covenant.org 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Github Actions for Magento 2 2 | 3 | We would love for you to contribute to "Github Actions for Magento 2" and help make it even better than it is 4 | today! As a contributor, here are the guidelines we would like you to follow: 5 | 6 | - [Code of Conduct](#coc) 7 | - [Question or Problem?](#question) 8 | - [Issues and Bugs](#issue) 9 | - [Feature Requests](#feature) 10 | - [Submission Guidelines](#submit) 11 | - [Coding Rules](#rules) 12 | - [Commit Message Guidelines](#commit) 13 | 14 | ## Code of Conduct 15 | Help us keep "Github Actions for Magento 2" open and inclusive. Please read and follow our [Code of Conduct][coc]. 16 | 17 | ## Got a Question or Problem? 18 | 19 | Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered on [Discussions](https://github.com/graycoreio/github-actions-magento2/discussions). 20 | 21 | To save your and our time, we will systematically close all issues that are requests for general support and redirect people to [Discussions](https://github.com/graycoreio/github-actions-magento2/discussions). 22 | 23 | ## Found a Bug? 24 | If you find a bug in the source code, you can help us by 25 | [submitting an issue](#submit-issue) to our [GitHub Repository][github]. Even better, you can 26 | [submit a Pull Request](#submit-pr) with a fix. 27 | 28 | ## Missing a Feature? 29 | You can *request* a new feature by [submitting an issue](#submit-issue) to our GitHub 30 | Repository. If you would like to *implement* a new feature, please submit an issue with 31 | a proposal for your work first, to be sure that we can use it. 32 | Please consider what kind of change it is: 33 | 34 | * For a **Major Feature**, first open an issue and outline your proposal so that it can be 35 | discussed. This will also allow us to better coordinate our efforts, prevent duplication of work, 36 | and help you to craft the change so that it is successfully accepted into the project. 37 | * **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). 38 | 39 | ## Submission Guidelines 40 | 41 | ### Submitting an Issue 42 | 43 | Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available. 44 | 45 | We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we will systematically ask you to provide a minimal reproduction scenario using https://github.com/. Having a live, reproducible scenario gives us a wealth of important information without going back & forth to you with additional questions like: 46 | 47 | - version of "Github Actions for Magento 2" used 48 | - 3rd-party libraries and their versions 49 | - and most importantly - a use-case that fails 50 | 51 | A minimal reproduce scenario using https://github.com/ allows us to quickly confirm a bug (or point out coding problem) as well as confirm that we are fixing the right problem. 52 | 53 | We will be insisting on a minimal reproduce scenario in order to save maintainers time and ultimately be able to fix more bugs. Interestingly, from our experience users often find coding problems themselves while preparing a minimal reproduction. We understand that sometimes it might be hard to extract essentials bits of code from a larger code-base but we really need to isolate the problem before we can fix it. 54 | 55 | Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you we are going to close an issue that doesn't have enough info to be reproduced. 56 | 57 | You can file new issues by filling out our [new issue form](https://github.com/graycoreio/github-actions-magento2/issues/new/choose). 58 | 59 | 60 | ### Submitting a Pull Request (PR) 61 | Before you submit your Pull Request (PR) consider the following guidelines: 62 | 63 | 1. Search [GitHub](https://github.com/graycoreio/github-actions-magento2/pulls) for an open or closed PR 64 | that relates to your submission. You don't want to duplicate effort. 65 | 1. Fork the [graycoreio/github-actions-magento2](https://github.com/graycoreio/github-actions-magento2) repo. 66 | 1. Make your changes in a new git branch: 67 | 68 | ```shell 69 | git checkout -b my-fix-branch master 70 | ``` 71 | 72 | 1. Create your patch, **including appropriate test cases**. 73 | 1. Follow our [Coding Rules](#rules). 74 | 1. Run the full test suite, as described in the [developer documentation][dev-doc], 75 | and ensure that all tests pass. 76 | 1. Commit your changes using a descriptive commit message that follows our 77 | [commit message conventions](#commit). Adherence to these conventions 78 | is necessary because release notes are automatically generated from these messages. 79 | 80 | ```shell 81 | git commit -a 82 | ``` 83 | Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. 84 | 85 | 1. Push your branch to GitHub: 86 | 87 | ```shell 88 | git push origin my-fix-branch 89 | ``` 90 | 91 | 1. In GitHub, send a pull request to `github-actions-magento2:main`. 92 | * If we suggest changes then: 93 | * Make the required updates. 94 | * Re-run the "Github Actions for Magento 2" test suites to ensure tests are still passing. 95 | * Rebase your branch and force push to your GitHub repository (this will update your Pull Request): 96 | 97 | ```shell 98 | git rebase main -i 99 | git push -f 100 | ``` 101 | * Note: don't squash your branch until after the reviewers comment "lgtm", so they don't need to re-review your entire branch every commit. 102 | 103 | That's it! Thank you for your contribution! 104 | 105 | #### After your pull request is merged 106 | 107 | After your pull request is merged, you can safely delete your branch and pull the changes 108 | from the main (upstream) repository: 109 | 110 | * Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: 111 | 112 | ```shell 113 | git push origin --delete my-fix-branch 114 | ``` 115 | 116 | * Check out the main branch: 117 | 118 | ```shell 119 | git checkout main -f 120 | ``` 121 | 122 | * Delete the local branch: 123 | 124 | ```shell 125 | git branch -D my-fix-branch 126 | ``` 127 | 128 | * Update your main with the latest upstream version: 129 | 130 | ```shell 131 | git pull --ff upstream main 132 | ``` 133 | 134 | ## Coding Rules 135 | To ensure consistency throughout the source code, keep these rules in mind as you are working: 136 | 137 | * All features or bug fixes **must be tested** by one or more specs (unit-tests). 138 | * All public API methods **must be documented**. (Details TBC). 139 | 140 | ## Commit Message Guidelines 141 | 142 | We have very precise rules over how our git commit messages can be formatted. This leads to **more 143 | readable messages** that are easy to follow when looking through the **project history**. 144 | 145 | ### Commit Message Format 146 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 147 | format that includes a **type**, a **scope** and a **subject**: 148 | 149 | ``` 150 | (): 151 | 152 | 153 | 154 |