feat: add supported version matrix action (#6)

This commit is contained in:
Damien Retzinger
2022-06-25 23:55:09 -04:00
committed by GitHub
parent 984dda3efa
commit 6e81ef96c7
5 changed files with 153 additions and 41 deletions
+14 -41
View File
@@ -15,54 +15,27 @@ on:
- README.md
jobs:
compute_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.supported-version.outputs.matrix }}
steps:
- uses: actions/checkout@v2
- uses: ./supported-version
id: supported-version
- run: echo ${{ steps.supported-version.outputs.matrix }}
install-test:
needs: compute_matrix
strategy:
matrix:
magento:
- magento/project-community-edition:>=2.3 <2.4
- magento/project-community-edition:>=2.4.0 <2.4.1
- magento/project-community-edition:>=2.4.1 <2.4.2
- magento/project-community-edition:>=2.4.2 <2.4.3
- magento/project-community-edition:>=2.4.3 <2.4.4
- magento/project-community-edition:>=2.4.4 <2.4.5
- magento/project-community-edition
include:
- magento: magento/project-community-edition:>=2.3 <2.4
php_version: 7.4
composer_version: 1
- magento: magento/project-community-edition:>=2.4.0 <2.4.1
php_version: 7.4
composer_version: 1
- magento: magento/project-community-edition:>=2.4.1 <2.4.2
php_version: 7.4
composer_version: 1
- magento: magento/project-community-edition:>=2.4.2 <2.4.3
php_version: 7.4
composer_version: 2
- magento: magento/project-community-edition:>=2.4.3 <2.4.4
php_version: 7.4
composer_version: 2
- magento: magento/project-community-edition:>=2.4.4 <2.4.5
php_version: 8.1
composer_version: 2
- magento: magento/project-community-edition
composer_version: 2
php_version: 8.1
matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./installation-test
with:
composer_version: ${{ matrix.composer_version }}
php_version: ${{ matrix.php_version }}
composer_version: ${{ matrix.composer }}
php_version: ${{ matrix.php }}
magento_version: ${{ matrix.magento }}
composer_auth: ${{ secrets.COMPOSER_AUTH }}
package_name: graycore/magento2-demo-package
+1
View File
@@ -18,6 +18,7 @@ Opinionated Github Actions and Workflows to make building, testing, and maintain
| ------------------------------------------------ | ------------------------------------------------------------------ |
| [Unit Test](./unit-test/README.md) | A Github Action that runs the Unit Tests a Magento Package |
| [Installation Test](installation-test/README.md) | A Github Action that tests the installability of a Magento Package |
| [Supported Version](supported-version/README.md) | A Github Action that computes the currently supported Github Actions Matrix for Magento 2 |
### Action or Workflow?
+27
View File
@@ -0,0 +1,27 @@
# Magento 2 Supported Versions
A Github Action that computes the currently supported Github Actions Matrix for Magento 2 Versions
All data comes from:
- [v2.3](https://github.com/magento/devdocs/blob/master/src/_data/codebase/v2_3/system-requirements.yml)
- [v2.4](https://github.com/magento/devdocs/blob/master/src/_data/codebase/v2_4/system-requirements.yml)
## Usage
```yml
name: Compute Magento 2 Supported Versions
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
runs-on: ubuntu-latest
steps:
- uses: graycoreio/github-actions-magento2/supported-version@main
```
+21
View File
@@ -0,0 +1,21 @@
name: "Compute Supported Magento 2 Versions"
author: "Graycore"
description: "A Github Action that computes the Github Actions matrix for the currently supported versions of Magento 2"
outputs:
matrix:
description: "The Github Actions matrix of software technologies required to run Magento."
value: ${{ steps.generate.outputs.matrix }}
runs:
using: 'composite'
steps:
- run: |
content=`cat supported-version/supported.json | jq -c`
echo "::set-output name=matrix::$content"
shell: bash
id: generate
branding:
icon: "code"
color: "green"
+90
View File
@@ -0,0 +1,90 @@
{
"magento": [
"magento/project-community-edition:>=2.3 <2.4",
"magento/project-community-edition:>=2.4.0 <2.4.1",
"magento/project-community-edition:>=2.4.1 <2.4.2",
"magento/project-community-edition:>=2.4.2 <2.4.3",
"magento/project-community-edition:>=2.4.3 <2.4.4",
"magento/project-community-edition:>=2.4.4 <2.4.5",
"magento/project-community-edition"
],
"include": [
{
"magento": "magento/project-community-edition:>=2.3 <2.4",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition:>=2.4.0 <2.4.1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7",
"elasticsearch": "elasticsearch:7.6.2",
"rabbitmq": "rabbitmq:3.8",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition:>=2.4.1 <2.4.2",
"php": 7.4,
"composer": 1,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.7.1",
"rabbitmq": "rabbitmq:3.8",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition:>=2.4.2 <2.4.3",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition:>=2.4.3 <2.4.4",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition:>=2.4.4 <2.4.5",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18"
},
{
"magento": "magento/project-community-edition",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18"
}
]
}