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 |
|
| Input | Description | Required | Default |
|
||||||
|-----------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |-----------------------|
|
|-----------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |-----------------------|
|
||||||
| kind | The "kind" of support you're targeting for your package. See [Kinds](#kinds). | false | 'currently-supported' |
|
| 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 | '' |
|
| 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' |
|
| 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' |
|
| 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
|
## Projects
|
||||||
- `mage-os`
|
- `mage-os`
|
||||||
|
- `mage-os-minimal`
|
||||||
- `magento-open-source` (default)
|
- `magento-open-source` (default)
|
||||||
|
|
||||||
## Service preferences
|
## Service preferences
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ inputs:
|
|||||||
default: "currently-supported"
|
default: "currently-supported"
|
||||||
project:
|
project:
|
||||||
required: false
|
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
|
# The default value is what it is to keep backward compatibility
|
||||||
default: "magento-open-source"
|
default: "magento-open-source"
|
||||||
custom_versions:
|
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": ["mage-os/project-community-edition"],
|
||||||
|
"mage-os-minimal": ["mage-os/project-minimal-edition"],
|
||||||
"magento-open-source": ["magento/project-community-edition"]
|
"magento-open-source": ["magento/project-community-edition"]
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
"mage-os": ["mage-os/project-community-edition:next"],
|
"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"]
|
"magento-open-source": ["magento/project-community-edition:next"]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
export const KNOWN_PROJECTS = {
|
export const KNOWN_PROJECTS = {
|
||||||
"mage-os": true,
|
"mage-os": true,
|
||||||
|
"mage-os-minimal": true,
|
||||||
"magento-open-source": true,
|
"magento-open-source": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ describe('validateProject', () => {
|
|||||||
it('returns `true` if its a valid project', () => {
|
it('returns `true` if its a valid project', () => {
|
||||||
expect(validateProject("magento-open-source")).toBe(true);
|
expect(validateProject("magento-open-source")).toBe(true);
|
||||||
expect(validateProject("mage-os")).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', () => {
|
it('throws a helpful exception if it is an invalid project', () => {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import {Project} from "../projects";
|
|||||||
describe('isKnownProject', () => {
|
describe('isKnownProject', () => {
|
||||||
it('returns `true` for known projects', () => {
|
it('returns `true` for known projects', () => {
|
||||||
expect(isKnownProject("mage-os")).toBe(true)
|
expect(isKnownProject("mage-os")).toBe(true)
|
||||||
|
expect(isKnownProject("mage-os-minimal")).toBe(true)
|
||||||
expect(isKnownProject("magento-open-source")).toBe(true)
|
expect(isKnownProject("magento-open-source")).toBe(true)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ describe('getIndividialVersionsForProject', () => {
|
|||||||
it('returns individual versions matrix for magento-open-source', () => {
|
it('returns individual versions matrix for magento-open-source', () => {
|
||||||
expect(Object.keys(getIndividualVersionsForProject("magento-open-source")).length).toBeGreaterThan(0)
|
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")).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', () => {
|
it('throws error if no individual versions are specified for given project', () => {
|
||||||
expect(() => getIndividualVersionsForProject(<Project>"ahsoka")).toThrowError()
|
expect(() => getIndividualVersionsForProject(<Project>"ahsoka")).toThrowError()
|
||||||
})
|
})
|
||||||
@@ -16,6 +17,7 @@ describe('getCompositeVersionsForProject', () => {
|
|||||||
it('returns composite versions matrix for magento-open-source', () => {
|
it('returns composite versions matrix for magento-open-source', () => {
|
||||||
expect(Object.keys(getCompositeVersionsForProject("magento-open-source")).length).toBeGreaterThan(0)
|
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")).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', () => {
|
it('throws error if no composite versions are specified for given project', () => {
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ import { PackageMatrixVersion } from "../matrix/matrix-type";
|
|||||||
|
|
||||||
const individual = {
|
const individual = {
|
||||||
'mage-os': require('./mage-os/individual.json'),
|
'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')
|
'magento-open-source': require('./magento-open-source/individual.json')
|
||||||
}
|
}
|
||||||
|
|
||||||
const composite = {
|
const composite = {
|
||||||
'mage-os': require('./mage-os/composite.json'),
|
'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')
|
'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