mirror of
https://github.com/graycoreio/github-actions-magento2.git
synced 2026-06-08 19:46:41 +00:00
feat(supported-version): add support for MageOS Minimal edition
This commit is contained in:
@@ -14,7 +14,7 @@ See the [action.yml](./action.yml)
|
||||
| Input | Description | Required | Default |
|
||||
|-----------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |-----------------------|
|
||||
| kind | The "kind" of support you're targeting for your package. See [Kinds](#kinds). | false | 'currently-supported' |
|
||||
| project | The project to return the supported versions for. Allowed values are `mage-os` and `magento-open-source` | false | 'magento-open-source' |
|
||||
| project | The project to return the supported versions for. Allowed values are `mage-os`, `mage-os-minimal`, and `magento-open-source` | false | 'magento-open-source' |
|
||||
| custom_versions | The versions you want to support, as a comma-separated string, i.e. 'magento/project-community-edition:2.3.7-p3, magento/project-community-edition:2.4.2-p2' | false | '' |
|
||||
| recent_time_frame | The time frame (from today) used when `kind` is `recent`. Combination of years (y), months (m), and days (d), e.g. `2y 2m 2d`. | false | '2y' |
|
||||
| include_services | Whether to include a `services` key in each matrix entry with GitHub Actions service container configurations for MySQL, search engine, RabbitMQ, and cache. | false | 'true' |
|
||||
@@ -31,6 +31,7 @@ See the [action.yml](./action.yml)
|
||||
|
||||
## Projects
|
||||
- `mage-os`
|
||||
- `mage-os-minimal`
|
||||
- `magento-open-source` (default)
|
||||
|
||||
## Service preferences
|
||||
|
||||
@@ -9,7 +9,7 @@ inputs:
|
||||
default: "currently-supported"
|
||||
project:
|
||||
required: false
|
||||
description: "The project to return the supported versions for. Allowed values are `mage-os` and `magento-open-source`"
|
||||
description: "The project to return the supported versions for. Allowed values are `mage-os`, `mage-os-minimal`, and `magento-open-source`"
|
||||
# The default value is what it is to keep backward compatibility
|
||||
default: "magento-open-source"
|
||||
custom_versions:
|
||||
|
||||
Vendored
+21
-21
File diff suppressed because one or more lines are too long
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"mage-os": ["mage-os/project-community-edition"],
|
||||
"mage-os-minimal": ["mage-os/project-minimal-edition"],
|
||||
"magento-open-source": ["magento/project-community-edition"]
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"mage-os": ["mage-os/project-community-edition:next"],
|
||||
"mage-os-minimal": ["mage-os/project-minimal-edition:next"],
|
||||
"magento-open-source": ["magento/project-community-edition:next"]
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
export const KNOWN_PROJECTS = {
|
||||
"mage-os": true,
|
||||
"mage-os-minimal": true,
|
||||
"magento-open-source": true,
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ describe('validateProject', () => {
|
||||
it('returns `true` if its a valid project', () => {
|
||||
expect(validateProject("magento-open-source")).toBe(true);
|
||||
expect(validateProject("mage-os")).toBe(true);
|
||||
expect(validateProject("mage-os-minimal")).toBe(true);
|
||||
});
|
||||
|
||||
it('throws a helpful exception if it is an invalid project', () => {
|
||||
|
||||
@@ -4,6 +4,7 @@ import {Project} from "../projects";
|
||||
describe('isKnownProject', () => {
|
||||
it('returns `true` for known projects', () => {
|
||||
expect(isKnownProject("mage-os")).toBe(true)
|
||||
expect(isKnownProject("mage-os-minimal")).toBe(true)
|
||||
expect(isKnownProject("magento-open-source")).toBe(true)
|
||||
});
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ describe('getIndividialVersionsForProject', () => {
|
||||
it('returns individual versions matrix for magento-open-source', () => {
|
||||
expect(Object.keys(getIndividualVersionsForProject("magento-open-source")).length).toBeGreaterThan(0)
|
||||
expect(Object.keys(getIndividualVersionsForProject("mage-os")).length).toBeGreaterThan(0)
|
||||
expect(Object.keys(getIndividualVersionsForProject("mage-os-minimal")).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
it('throws error if no individual versions are specified for given project', () => {
|
||||
@@ -16,6 +17,7 @@ describe('getCompositeVersionsForProject', () => {
|
||||
it('returns composite versions matrix for magento-open-source', () => {
|
||||
expect(Object.keys(getCompositeVersionsForProject("magento-open-source")).length).toBeGreaterThan(0)
|
||||
expect(Object.keys(getCompositeVersionsForProject("mage-os")).length).toBeGreaterThan(0)
|
||||
expect(Object.keys(getCompositeVersionsForProject("mage-os-minimal")).length).toBeGreaterThan(0)
|
||||
})
|
||||
|
||||
it('throws error if no composite versions are specified for given project', () => {
|
||||
|
||||
@@ -3,11 +3,13 @@ import { PackageMatrixVersion } from "../matrix/matrix-type";
|
||||
|
||||
const individual = {
|
||||
'mage-os': require('./mage-os/individual.json'),
|
||||
'mage-os-minimal': require('./mage-os-minimal/individual.json'),
|
||||
'magento-open-source': require('./magento-open-source/individual.json')
|
||||
}
|
||||
|
||||
const composite = {
|
||||
'mage-os': require('./mage-os/composite.json'),
|
||||
'mage-os-minimal': require('./mage-os-minimal/composite.json'),
|
||||
'magento-open-source': require('./magento-open-source/composite.json')
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"mage-os/project-minimal-edition": {
|
||||
"magento": "mage-os/project-minimal-edition",
|
||||
"php": 8.5,
|
||||
"composer": "2.9.8",
|
||||
"mysql": "mysql:8.4",
|
||||
"opensearch": "opensearchproject/opensearch:3",
|
||||
"rabbitmq": "rabbitmq:4.2-management",
|
||||
"valkey": "valkey/valkey:9",
|
||||
"varnish": "varnish:8",
|
||||
"nginx": "nginx:1.28",
|
||||
"os": "ubuntu-latest",
|
||||
"release": "2026-05-19T00:00:00+0000",
|
||||
"eol": "2029-05-19T00:00:00+0000"
|
||||
},
|
||||
"mage-os/project-minimal-edition:next": {
|
||||
"magento": "mage-os/project-minimal-edition:next",
|
||||
"php": 8.5,
|
||||
"composer": "2.9.8",
|
||||
"mysql": "mysql:8.4",
|
||||
"opensearch": "opensearchproject/opensearch:3",
|
||||
"rabbitmq": "rabbitmq:4.2-management",
|
||||
"valkey": "valkey/valkey:9",
|
||||
"varnish": "varnish:8",
|
||||
"nginx": "nginx:1.28",
|
||||
"os": "ubuntu-latest",
|
||||
"release": "2026-05-19T00:00:00+0000",
|
||||
"eol": "2029-05-19T00:00:00+0000"
|
||||
},
|
||||
"mage-os/project-minimal-edition:>=3.0 <3.1": {
|
||||
"magento": "mage-os/project-minimal-edition:>=3.0 <3.1",
|
||||
"php": 8.5,
|
||||
"composer": "2.9.8",
|
||||
"mysql": "mysql:8.4",
|
||||
"opensearch": "opensearchproject/opensearch:3",
|
||||
"rabbitmq": "rabbitmq:4.2-management",
|
||||
"valkey": "valkey/valkey:9",
|
||||
"varnish": "varnish:8",
|
||||
"nginx": "nginx:1.28",
|
||||
"os": "ubuntu-latest",
|
||||
"release": "2026-05-19T00:00:00+0000",
|
||||
"eol": "2029-05-19T00:00:00+0000"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"mage-os/project-minimal-edition:3.0.0": {
|
||||
"magento": "mage-os/project-minimal-edition:3.0.0",
|
||||
"upstream": "2.4.9",
|
||||
"php": 8.5,
|
||||
"composer": "2.9.8",
|
||||
"mysql": "mysql:8.4",
|
||||
"opensearch": "opensearchproject/opensearch:3",
|
||||
"rabbitmq": "rabbitmq:4.2-management",
|
||||
"valkey": "valkey/valkey:9",
|
||||
"varnish": "varnish:8",
|
||||
"nginx": "nginx:1.28",
|
||||
"os": "ubuntu-latest",
|
||||
"release": "2026-05-19T00:00:00+0000",
|
||||
"eol": "2029-05-19T00:00:00+0000"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user