Compare commits

...

169 Commits

Author SHA1 Message Date
GrayBot fb29b3d3ac chore: release 2.0.0 (#186) 2025-03-25 09:43:33 -04:00
Damien Retzinger 8d21604ac9 ci: replace token with graycore token 2025-03-25 09:41:34 -04:00
Damien Retzinger 9c06178b30 feat!: replace mage-os/github-actions with graycoreio/github-actions-magento2 2025-03-25 09:41:29 -04:00
Damien Retzinger 4c536e3d96 feat!: remove unmaintained workflows 2025-03-25 09:41:23 -04:00
dependabot[bot] 404e77a0a1 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#278)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.26.0 to 8.26.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 14:38:04 +00:00
dependabot[bot] 294ba33d22 chore(deps-dev): bump eslint from 9.21.0 to 9.22.0 (#277)
Bumps [eslint](https://github.com/eslint/eslint) from 9.21.0 to 9.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.21.0...v9.22.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 14:37:00 +00:00
dependabot[bot] 3fcf4e8830 chore(deps-dev): bump @typescript-eslint/parser from 8.26.0 to 8.26.1 (#280)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.26.0 to 8.26.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 14:36:35 +00:00
dependabot[bot] c1c2361412 chore(deps-dev): bump typescript from 5.7.3 to 5.8.2 (#279)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.3 to 5.8.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 14:35:05 +00:00
dependabot[bot] 199f035823 chore(deps-dev): bump esbuild from 0.25.0 to 0.25.1 (#281)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.0 to 0.25.1.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.0...v0.25.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 14:34:28 +00:00
dependabot[bot] cf9dc345a0 chore(deps-dev): bump @types/node from 22.13.1 to 22.13.9 (#274)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.1 to 22.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:17:27 +00:00
dependabot[bot] 81769a5801 chore(deps-dev): bump @typescript-eslint/parser from 8.24.0 to 8.26.0 (#273)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.24.0 to 8.26.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:17:03 +00:00
dependabot[bot] 20e57cc8cc chore(deps-dev): bump ts-jest from 29.2.5 to 29.2.6 (#268)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.5 to 29.2.6.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.2.5...v29.2.6)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:16:35 +00:00
dependabot[bot] 585fe1960d chore(deps-dev): bump eslint from 9.20.0 to 9.21.0 (#270)
Bumps [eslint](https://github.com/eslint/eslint) from 9.20.0 to 9.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.20.0...v9.21.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:16:12 +00:00
dependabot[bot] 14157e0107 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#275)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.24.0 to 8.26.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:15:27 +00:00
Mage-OS fb68b8413a chore: release 1.6.0 (#276) 2025-03-07 06:14:51 +00:00
Tjitse 22aca78cc8 feat: run setup:di:compile on push (#116)
* feat: run setup:di:compile on push

* feat: use mage-os/github-actions/cache-magento

* Removed fetch-depth

* Update example usage

* Switch to PHP 8.3 as default

* Update docs

---------

Co-authored-by: Fabrizio Balliano <fabrizio.balliano@gmail.com>
Co-authored-by: Ryan Hoerr <rhoerr@users.noreply.github.com>
2025-03-06 21:07:40 -05:00
Fabrizio Balliano ca7cd551a3 Preparing 1.0.6 (#263)
* Add releases 2.4.4-p12, 2.4.5-p11, 2.4.6-p9 and 2.4.7-p4

* npm run build
2025-02-12 11:52:16 -05:00
Fabrizio Balliano d763a4f246 Add releases 2.4.4-p12, 2.4.5-p11, 2.4.6-p9 and 2.4.7-p4 (#262)
* Add releases 2.4.4-p12, 2.4.5-p11, 2.4.6-p9 and 2.4.7-p4

* npm run build

* Updated tests and fixed dates
2025-02-11 18:48:46 +01:00
dependabot[bot] b71a68f6c5 chore(deps-dev): bump @typescript-eslint/parser from 8.23.0 to 8.24.0 (#258)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.23.0 to 8.24.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.24.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 22:12:08 +00:00
dependabot[bot] 06643ca72b chore(deps-dev): bump esbuild from 0.24.2 to 0.25.0 (#259)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.24.2 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.2...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 22:10:40 +00:00
dependabot[bot] d692d0f268 chore(deps-dev): bump @types/node from 22.13.0 to 22.13.1 (#257)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.0 to 22.13.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 22:09:05 +00:00
dependabot[bot] b18dcc9636 chore(deps-dev): bump eslint from 9.19.0 to 9.20.0 (#260)
Bumps [eslint](https://github.com/eslint/eslint) from 9.19.0 to 9.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.19.0...v9.20.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 22:08:00 +00:00
dependabot[bot] fd7bc5c2ad chore(deps-dev): bump @typescript-eslint/eslint-plugin (#261)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.23.0 to 8.24.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.24.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 22:07:30 +00:00
mage-os-ci 670cfada18 Add Sansec eComscan workflow 2025-02-04 16:35:51 +00:00
dependabot[bot] 58291d6124 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#254)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.22.0 to 8.23.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.23.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 21:10:54 +00:00
dependabot[bot] bcb4d4e8ca chore(deps-dev): bump @typescript-eslint/parser from 8.22.0 to 8.23.0 (#255)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.22.0 to 8.23.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.23.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 21:09:50 +00:00
dependabot[bot] bd16a2ede2 chore(deps-dev): bump @types/node from 22.10.10 to 22.13.0 (#253)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.10 to 22.13.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 21:09:22 +00:00
dependabot[bot] 24899973c7 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#250)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.21.0 to 8.22.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.22.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 21:13:58 +00:00
dependabot[bot] cc16fbeece chore(deps-dev): bump @typescript-eslint/parser from 8.21.0 to 8.22.0 (#249)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.21.0 to 8.22.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.22.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 21:11:58 +00:00
dependabot[bot] 6ba77aab04 chore(deps-dev): bump eslint from 9.18.0 to 9.19.0 (#251)
Bumps [eslint](https://github.com/eslint/eslint) from 9.18.0 to 9.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.18.0...v9.19.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 21:10:04 +00:00
dependabot[bot] 43d0e08cbd chore(deps-dev): bump @types/node from 22.10.7 to 22.10.10 (#252)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.7 to 22.10.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 21:09:34 +00:00
dependabot[bot] 4372c49355 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#246)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.21.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 22:07:57 +00:00
dependabot[bot] 520038cb94 chore(deps-dev): bump @typescript-eslint/parser from 8.20.0 to 8.21.0 (#247)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.21.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 22:05:57 +00:00
dependabot[bot] b3f81d4a69 chore(deps-dev): bump @types/node from 22.10.6 to 22.10.7 (#248)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.6 to 22.10.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 22:05:34 +00:00
dependabot[bot] 36d912de34 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#244)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.19.1 to 8.20.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.20.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 09:00:59 +00:00
dependabot[bot] 6da9161782 chore(deps-dev): bump @types/node from 22.10.5 to 22.10.6 (#241)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.5 to 22.10.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 08:59:54 +00:00
dependabot[bot] 1f11e88b9d chore(deps-dev): bump @typescript-eslint/parser from 8.19.1 to 8.20.0 (#242)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.19.1 to 8.20.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.20.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 08:59:06 +00:00
dependabot[bot] b15dc26632 chore(deps-dev): bump eslint from 9.17.0 to 9.18.0 (#243)
Bumps [eslint](https://github.com/eslint/eslint) from 9.17.0 to 9.18.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.17.0...v9.18.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 08:58:23 +00:00
dependabot[bot] f1cfb5ac10 chore(deps-dev): bump typescript from 5.7.2 to 5.7.3 (#245)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.2...v5.7.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 08:57:50 +00:00
dependabot[bot] 30a7867ee4 chore(deps): bump actions/cache from 3 to 4 (#234)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 14:10:40 +00:00
dependabot[bot] f9554e5337 chore(deps-dev): bump esbuild from 0.19.3 to 0.24.2 (#233)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.19.3 to 0.24.2.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.19.3...v0.24.2)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 12:22:54 +00:00
dependabot[bot] 7918693687 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.62.0 to 8.19.1 (#239)
* chore(deps-dev): bump @typescript-eslint/eslint-plugin

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.62.0 to 8.19.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.19.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fixed npm ci

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fabrizio Balliano <fabrizio.balliano@gmail.com>
2025-01-07 12:19:59 +00:00
dependabot[bot] 999d81761d chore(deps-dev): bump eslint from 8.56.0 to 9.17.0 (#236)
Bumps [eslint](https://github.com/eslint/eslint) from 8.56.0 to 9.17.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.56.0...v9.17.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 06:15:59 +00:00
dependabot[bot] 0db5983be9 chore(deps): bump google-github-actions/release-please-action (#202)
Bumps [google-github-actions/release-please-action](https://github.com/google-github-actions/release-please-action) from 3 to 4.
- [Release notes](https://github.com/google-github-actions/release-please-action/releases)
- [Changelog](https://github.com/google-github-actions/release-please-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/release-please-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: google-github-actions/release-please-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 06:14:44 +00:00
dependabot[bot] 915392f200 chore(deps-dev): bump @types/node from 18.18.3 to 22.10.5 (#240)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.18.3 to 22.10.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 06:12:51 +00:00
mage-os-ci ede917ef8c Add Sansec eComscan workflow 2025-01-02 12:19:37 +00:00
dependabot[bot] 0fea5402ee chore(deps): bump actions/checkout from 3 to 4 (#194)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 13:27:09 +00:00
dependabot[bot] 3ba1a28f5e chore(deps-dev): bump @types/jest from 29.5.5 to 29.5.11 (#206)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.5 to 29.5.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 13:26:31 +00:00
dependabot[bot] d11e680d8f chore(deps): bump actions/upload-artifact from 3 to 4 (#209)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 13:25:30 +00:00
dependabot[bot] 313c2430c0 chore(deps-dev): bump eslint from 8.50.0 to 8.56.0 (#208)
Bumps [eslint](https://github.com/eslint/eslint) from 8.50.0 to 8.56.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.50.0...v8.56.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 13:24:35 +00:00
Mage-OS 113ab6edb4 chore: release 1.5.0 (#125) 2024-12-30 13:22:21 +00:00
mage-os-ci 9af34de2df Add Sansec eComscan workflow 2024-12-30 10:06:21 +00:00
Ryan Hoerr b633b2120a feat: add new releases to the version matrix (#232)
Magento Open Source 2.4.4-p11, 2.4.5-p10, 2.4.6-p8, 2.4.7-p3
Mage-OS 1.0.5
2024-10-09 16:12:24 +02:00
Ryan Hoerr 6f6b6fd6fd chore: add Magento Open Source 2.4.7-p2 and Mage-OS Distribution 1.0.4 to the version matrix (#230)
* chore: add Magento Open Source 2.4.7-p2 and Mage-OS Distribution 1.0.4 to the version matrix

* chore: add Magento 2.4.4-p10, 2.4.5-p9, 2.4.6-p7 to the version matrix
2024-08-19 19:28:31 -04:00
Ryan Hoerr 6e50d0d8de feat: add upcoming release Mage-OS 1.0.3 to supported-version matrix (#229) 2024-07-23 15:04:30 +02:00
Ryan Hoerr e29ea44597 fix: coding-standard-baseline: Run baseline test on modified files only (fixes #227) (#228) 2024-07-08 22:19:16 +02:00
Vinai Kopp a3262710f1 feat: add magento releases 2.4.4-p9, 2.4.5-p8, 2.4.6-p6, and 2.4.7-p1 (#226) 2024-06-11 19:06:06 +02:00
Vinai Kopp b4f27f19e5 fix: use exact version of elasticsearch since there is no 8.11 tag (#225) 2024-05-22 13:55:59 +02:00
Vinai Kopp dd47d22478 fix: continue to use elasticsearch instead of opensearch for now (#224) 2024-05-22 11:42:42 +02:00
Vinai Kopp f1b13e8984 feat: add upcoming release for mage-os 1.0.2 (#223) 2024-05-22 11:16:57 +02:00
Vinai Kopp 4f193802bc Add 2.4.4-p8, 2.4.5-p7, 2.4.6-p5 and 2.4.7 releases to supported-versions matrix (#222)
* Add 2.4.4-p8, 2.4.5-p7, 2.4.6-p6 and 2.4.7 releases to supported-versions matrix

* Update build
2024-04-30 11:12:32 +02:00
Vladyslav Podorozhnyi 52584b3dd2 Include some tests into standalone test suite after update from 2.4-develop upstream (magento) (#221) 2024-03-21 13:51:15 +01:00
Vladyslav Podorozhnyi c41d657f25 Allow ignoring integration tests (#220)
* Allow ignoring integration tests

* Update full-integration-tests.yaml
2024-03-19 14:56:49 +01:00
Vinai Kopp 54f7204e3f Add 2.4.4-p7, 2.4.5-p6 and 2.4.6-p4 releases to supported-versions matrix (#219) 2024-02-14 14:52:36 +01:00
Ihor Sviziev 120b61c253 Integration tests workflow improvements (#218) 2024-01-25 16:41:49 +01:00
Vladyslav Podorozhnyi a6eb2a4f73 Integration tests workflow improvement (#217)
* Update full-integration-tests.yaml

* Add optional input on integration test directory.

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Add exclusion list - directories from exclusion list should be also splited on multiple batches

* Update full-integration-tests.yaml
2024-01-24 10:11:43 +01:00
Simon Sprankel 31100c7875 Merge pull request #216 from ihor-sviziev/patch-2
Upgrade warden to latest version
2024-01-11 10:14:08 +01:00
Simon Sprankel 0569f6cd82 Merge pull request #215 from ihor-sviziev/patch-1
Use Warden instead of Den everywhere
2024-01-11 10:13:43 +01:00
Ihor Sviziev c182206975 Upgrade warden to latest version 2024-01-11 09:39:36 +02:00
Ihor Sviziev 6728d6bc78 Use Warden instead of Den everywhere 2024-01-11 09:33:06 +02:00
Simon Sprankel be076091a2 Merge pull request #184 from adamzero1/nx-integration-tests
Nx Integration Tests Github Workflow
2023-11-28 14:58:55 +01:00
Adam 6632e42332 dev: using range for Nx version 2023-11-28 13:43:45 +00:00
Adam 5bf3436207 dev: using range for Nx version 2023-11-28 09:49:27 +00:00
Adam a85b811eab dev: implementing suggested changes 2023-11-27 16:28:28 +00:00
Adam 28524a8dc7 dev: removing examples of other jobs 2023-11-27 16:26:35 +00:00
Adam 7af06fcecf dev: removing debug 2023-11-27 16:23:36 +00:00
Simon Sprankel 0575002ef9 Merge pull request #189 from Tjitse-E/fix/changed-files-for-phpcs-baseline
Fix changed files action for phpcs baseline
2023-11-16 16:49:55 +01:00
Tjitse Efdé 4a0794c67a Update readme 2023-11-16 14:10:35 +01:00
Tjitse Efdé 87fe77f8a8 fix: switch from tj-actions/changed-files to dorny/paths-filter 2023-11-16 14:04:38 +01:00
Vladyslav Podorozhnyi 168696ef43 Add Full Integration Tests workflow (#185)
* Add Full Integration Tests workflow

* Add inputs for workflow_call
2023-11-14 19:04:49 +01:00
Vladyslav Podorozhnyi ed82ffa437 Fixes for integration tests execution action (#179)
* Fix integration tests execution config 🙈

* Change input types for running tests to boolean

* Change input types
2023-11-12 15:30:45 +01:00
Adam 1fd928e0bb dev: work on nx integration github workflow 2023-11-11 14:47:43 +00:00
Simon Sprankel 6a08e4f15b Merge pull request #168 from adamzero1/main
Warden GitHub Actions
2023-10-31 15:08:02 +01:00
Adam 258cda966c Update warden/setup-environment/action.yml
Co-authored-by: Simon Sprankel <sprankhub@users.noreply.github.com>
2023-10-30 16:42:32 +00:00
Adam e7cdca1774 dev: code review suggestion 2023-10-30 16:41:08 +00:00
Adam 93ff913554 Apply suggestions from code review
Co-authored-by: Simon Sprankel <sprankhub@users.noreply.github.com>
2023-10-30 16:38:57 +00:00
Adam c78cab7241 change: defaulting to opensearch 2023-10-30 16:31:50 +00:00
Adam b65059225c refact: requests from PR 2023-10-24 14:45:39 +01:00
Vinai Kopp 2086708ffc feat: add releases 2.4.4-p6, 2.4.5-p5 and 2.4.6-p3 (#169) 2023-10-11 06:25:00 +13:00
Adam eb79849a07 dev: work on action 2023-10-10 10:45:25 +00:00
Adam 822a6e2cb4 dev: work on action 2023-10-10 10:13:52 +00:00
Adam 483ee7ce1f dev: work on action 2023-10-10 09:21:20 +00:00
Adam e3a0b778b7 dev: work on action 2023-10-10 08:49:44 +00:00
Adam 748532bb10 dev: work on action 2023-10-10 08:28:49 +00:00
Adam 8027ccfb40 dev: work on action 2023-10-10 08:00:19 +00:00
Adam e58a777bdd dev: work on action 2023-10-10 07:56:55 +00:00
Adam 45a92e5b81 dev: work on action 2023-10-10 07:49:59 +00:00
Adam a91d08567a dev: work on action 2023-10-10 07:37:45 +00:00
Adam 800e2a1288 dev: work on action 2023-10-10 07:12:19 +00:00
Adam 952c43771c dev: work on action 2023-10-10 07:06:24 +00:00
Adam 62a4308154 dev: work on action 2023-10-10 07:01:51 +00:00
Adam fd91ed3677 dev: work on action 2023-10-10 06:54:06 +00:00
Adam 6bcaa9bdea dev: work on action 2023-10-10 06:47:22 +00:00
Adam d120d4f6d0 dev: initial add of warden setup environment actions
Co-authored-by: Vladyslav Podorozhnyi <vpodorozh@gmail.com>
2023-10-10 06:33:36 +00:00
David Lambauer 68cbb2e752 Merge pull request #159 from mage-os/dependabot/npm_and_yarn/types/node-18.18.3
chore(deps-dev): bump @types/node from 18.17.18 to 18.18.3
2023-10-08 21:50:08 +02:00
Simon Sprankel 5464f44f3a Move baseline file to correct location (#164) 2023-10-08 21:15:26 +02:00
Simon Sprankel 335930740f Merge pull request #162 from Tjitse-E/fix-baseline-composer-conflicts
fix: PHPcs baseline composer conflicts
2023-10-06 09:11:05 +02:00
Tjitse Efdé bf34ec4964 fix: PHPcs baseline composer conflicts 2023-10-06 08:38:28 +02:00
dependabot[bot] 427a631508 chore(deps-dev): bump @types/node from 18.17.18 to 18.18.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.17.18 to 18.18.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 21:09:12 +00:00
Vinai Kopp b645c2327d fix: pass correct repo url for nightly (#158)
fix: pass correct repo url for nightly

The amendMatrixForNext function uses the repository argument to
determine the version constraint for the returned matrix for kind
nightly.
Previously, the upstream-mirror repo url was passed as an argument, but
the nightly builds use a different repo url.
This resulted in failed builds, because the version string 'next' could
not be parsed by composer.

Example:
https://github.com/mage-os/generate-mirror-repo-js/actions/runs/6370219504/job/17291152703

With this change, the nightly kind will always return the @alpha
version constraint, that is, stability constraint.
There currently is no way to distinguish between different nightly
repos, but since both work the same way, this is fine (for now).
2023-10-02 06:27:52 +13:00
dependabot[bot] b7a037a472 chore(deps-dev): bump eslint from 8.49.0 to 8.50.0 (#155)
Bumps [eslint](https://github.com/eslint/eslint) from 8.49.0 to 8.50.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.49.0...v8.50.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 08:16:20 -04:00
Damien Retzinger 7f1821f6ac fix(supported-versions): nightly build matrix tag (#152) 2023-09-24 16:07:37 -04:00
Damien Retzinger 88901eacf7 chore(deps, deps-dev): updates deps and add .nvmrc (#151) 2023-09-22 12:29:14 -04:00
dependabot[bot] 00939b1609 chore(deps): bump actions/checkout from 3 to 4 (#114)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-22 09:43:15 -04:00
Damien Retzinger 4e21b18ee9 feat(coding-standard): add ignore_warnings flag (#147)
By default, `phpcs` exits with a non-zero exit code when it finds warnings. We keep that default, but allow changing it.

Co-authored-by: Vitaliy Golomoziy <vitaliy.golomoziy@gmail.com>
2023-09-21 08:40:58 -04:00
Damien Retzinger 01e4ccbc54 feat(semver-compare): add new Github action (#146)
This adds a new Github Action that semantically compares two versions, like 2.1.1 and 2.3.0 giving information about whether or the version is "higher" or "lower" than another version. The action exposes an output called `result` which will match the return type of the PHP [version_compare](https://www.php.net/manual/en/function.version-compare.php) function.

Currently, this action compares `version` against `compare_against` and returns:

- `-1` - if `version` is lower than `compare_against`
- `0` - if `version` is equal to `compare_against`
- `1` - if `version` is greater than `compare_against`

Co-authored-by: Vitaliy Golomoziy <vitaliy.golomoziy@gmail.com>
2023-09-21 08:35:57 -04:00
Damien Retzinger bc840e1372 feat(get-composer-version): create new action (#145)
This creates a new A Github Action that determines the currently installed version of Composer.

Co-authored-by: Vitaliy Golomoziy <vitaliy.golomoziy@gmail.com>
2023-09-21 08:15:24 -04:00
Damien Retzinger f79de7d7d2 docs(cache-magento): remove extraneous input (#128) 2023-09-14 17:39:10 -04:00
Tjitse 76fcd70226 Fix PHPcs baseline test failure when there are no files to check (#115)
* fix: baseline coding standard fail when there are no files

* feat: also scan graphql/css/less/js files with phpcs
2023-09-12 09:44:52 +02:00
Simon Sprankel dcd92b12a2 Merge pull request #118 from sprankhub/fix-release-badge
chore: fix release badge
2023-09-08 22:34:44 +02:00
Simon Sprankel 4aa63b292d chore: fix release badge 2023-09-08 21:22:48 +02:00
Simon Sprankel e12e899610 Merge pull request #117 from damienwebdev/main
build: remove duplicate CODEOWERS
2023-09-08 21:13:56 +02:00
Damien Retzinger 163b86c96c build: remove duplicate CODEOWERS 2023-09-08 09:25:17 -04:00
mage-os-ci 2fc7278b9f Managed by Terraform 2023-09-07 21:19:03 +00:00
Vinai Kopp f7f0504691 feat: add project versions (#110)
* refactor: allow version matrixes by projects

* feat: add initial version-matrix for mage-os

* feat: add project as optional input to action

* docs: document new input

* refactor: tighten types a bit

* chore: apply change requests from code review
2023-09-06 22:08:57 +02:00
dependabot[bot] 28643a7156 chore(deps-dev): bump eslint from 8.46.0 to 8.48.0 (#108)
Bumps [eslint](https://github.com/eslint/eslint) from 8.46.0 to 8.48.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.46.0...v8.48.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 10:05:50 +02:00
dependabot[bot] 8c373fef86 chore(deps-dev): bump typescript from 5.0.4 to 5.2.2 (#107)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.4 to 5.2.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.4...v5.2.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 10:05:32 +02:00
dependabot[bot] f50c12a470 chore(deps-dev): bump ts-jest from 29.1.0 to 29.1.1 (#106)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.0 to 29.1.1.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.1.0...v29.1.1)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 10:02:29 +02:00
dependabot[bot] 54ab891af4 chore(deps-dev): bump @types/node from 18.17.11 to 18.17.12 (#105)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.17.11 to 18.17.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 10:01:55 +02:00
dependabot[bot] ff609fef4e chore(deps-dev): bump @types/node from 18.16.3 to 18.17.11 (#104)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.16.3 to 18.17.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-27 14:52:21 +02:00
dependabot[bot] 20fecd7681 chore(deps-dev): bump esbuild from 0.17.18 to 0.19.2 (#102)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.18 to 0.19.2.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.17.18...v0.19.2)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-27 14:44:40 +02:00
dependabot[bot] c9d35aa187 chore(deps-dev): bump @types/node from 18.16.3 to 18.17.3 (#94)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.16.3 to 18.17.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-27 14:37:14 +02:00
dependabot[bot] bf75309cfb chore(deps-dev): bump eslint from 8.39.0 to 8.46.0 (#88)
Bumps [eslint](https://github.com/eslint/eslint) from 8.39.0 to 8.46.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.39.0...v8.46.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-27 14:36:29 +02:00
dependabot[bot] 12238a2e92 chore(deps-dev): bump @typescript-eslint/parser from 5.59.2 to 5.62.0 (#81)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.59.2 to 5.62.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.62.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-27 14:36:14 +02:00
Damien Retzinger 5599a0d2e7 feat(supported-versions): add release date (#100)
Previously, we didn't take into account a release date, which meant
that @vinai could not add MageOS or Magento releases before the actual
day of release.

With this, we can now add the releases to supported verisons before
a release comes out, allowing us to make a kind that allows testing
MageOS and Magento Mirror releases more quickly.
2023-08-16 13:57:48 +02:00
Simon Sprankel c093834133 Only execute phpcs if changes exist (#101) 2023-08-16 13:35:39 +02:00
Vinai Kopp f8835e5c0a chore: comment mysql 5.7 install script source (#70) 2023-08-15 17:20:38 -04:00
Simon Sprankel bb848c4b0a Only execute phpcs if changes exist (#99) 2023-08-15 16:53:02 +02:00
Simon Sprankel 19d95ee260 Exit successfully on no changes (#98) 2023-08-15 15:39:07 +02:00
Simon Sprankel fcaf3e4ed2 Fix phpcs Baseline Inputs (#95)
* Switch to PHP 8.2

* Fix phpcs baseline action inputs
2023-08-15 15:23:26 +02:00
Vinai Kopp dd14f7859c chore: add versions 2.4.4-p5, 2.4.5-p4 and 2.4.6-p2 (#96) 2023-08-08 17:47:58 +02:00
Simon Sprankel 847b7464a1 Merge pull request #79 from MeetKamal/coding_standard_baseline
added coding-standard-baseline folder for codesniffer baseline task
2023-07-25 15:35:59 +02:00
kamleshluhana 5156dab92f added comments based on Damien review 2023-07-18 16:35:20 +05:30
kamleshluhana 23492464b2 Apply changes as per Simon comments 2023-07-10 16:19:50 +05:30
kamleshluhana fdd5cb7dad Review comments of simon and updated code base 2023-07-06 17:54:06 +05:30
kamleshluhana d3746393a0 added coding-standard-baseline folder for codesniffer baseline task 2023-07-04 17:50:26 +05:30
Vinai Kopp b82ff0d536 chore: disable mysqldump column-statistics for 2.3.7-* builds (#69) 2023-06-24 23:34:07 +02:00
Vinai Kopp 2726817e55 chore: save test sandbox as an artifact to help debug failures (#68) 2023-06-24 19:11:31 +02:00
Damien Retzinger 85d11af76e fix: make es8 run correctly in integration tests (#66) 2023-06-22 06:58:49 +02:00
Damien Retzinger 28248496e0 feat: add support for v2.3.7 on new vms (#67) 2023-06-22 06:55:50 +02:00
Vinai Kopp e48a3463c5 fix: add missing build for 1.4.0 of supported versions (#64) 2023-06-20 09:54:28 -04:00
Mage-OS b89832acd5 chore: release 1.4.0 (#63) 2023-06-20 09:35:44 -04:00
Mage-OS d1aff86514 Merge pull request #57 from Vinai/use-mage-os-org
chore: switch all references of graycore/github-actions-magento2 to mage-os/github-actions
2023-06-20 10:58:09 +02:00
Vinai Kopp 6650651684 Update .github/CODEOWNERS
Co-authored-by: Simon Sprankel <sprankhub@users.noreply.github.com>
2023-06-20 09:53:11 +02:00
Vinai Kopp 1dc33c08a1 chore: switch all references of graycore/github-actions-magento2 to mage-os/github-actions 2023-06-17 09:49:31 +02:00
Mage-OS 7b813336fa Merge pull request #56 from Vinai/fix-elasticsearch-tag
chore: fix elasticsearch tags
2023-06-16 23:16:23 +02:00
Vinai Kopp aef1d9a5c1 chore: fix elasticsearch tags 2023-06-16 23:02:41 +02:00
Damien Retzinger 08024b61c5 V2.4.6-p1
* feat: add support for newly released Magento versions

* tmp
2023-06-14 21:29:57 +02:00
Simon Sprankel 8108cd87fc chore(deps): update dependencies (#32) 2023-05-04 20:52:52 -04:00
mage-os-ci 26f77d7dbe Managed by Terraform 2023-05-02 13:25:17 +00:00
Mage-OS CI Bot 653be3b276 Managed by Terraform 2023-04-28 20:15:30 +00:00
Damien Retzinger 320fc062aa chore: fixup release please token to MageOS Token (#25) 2023-04-25 11:19:34 -04:00
Simon Sprankel d550ebc9f6 chore(deps): update dependencies (#23) 2023-04-25 11:02:13 -04:00
Simon Sprankel 11efc54d5e docs: remove funding for now 2023-04-25 10:22:28 -04:00
Damien Retzinger c9b7f41525 fix(supported-version): falsiness of custom_versions 2023-04-16 15:21:15 -04:00
Damien Retzinger 5c198049f7 feat(supported-version): validate custom_versions
Previously, @danslo reported that he tried to use `custom_versions` without
setting the kind. This isn't the correct behavior.
I've added a validator to alert him of this.
2023-04-16 15:18:23 -04:00
Vinai Kopp 81a1eb2273 feat: make phpcs severity level configurable (#130)
Add inputs to allow configuring error and warning severity levels.
This allows suppressing messages in the Mage-OS repository that are
ignored in upstream Magento Open Source CI, too.
2023-04-11 08:41:40 -04:00
Damien Retzinger 5bbda33138 chore(deps): update dependencies (#183) 2023-04-11 08:37:58 -04:00
Damien Retzinger 0b005d1d95 chore: add support for release-please (#165) 2023-03-15 09:59:03 -04:00
80 changed files with 9304 additions and 7900 deletions
-66
View File
@@ -1,66 +0,0 @@
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$ Magento 2 GitHub Actions Code Owners $$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#
# The configuration for Code Owners for graycoreio/magento2-github-actions.
#
# For more info see: https://help.github.com/articles/about-codeowners/
#
# ================================================
# Concepts
# ================================================
#
# 1. A CodeOwner should only review what they are comfortable reviewing. If you're not comfortable, say something.
# 2. It is a CodeOwners responsibility to only accept the changes that they understand and deem necessary.
# 3. The CodeOwners have final say on whether or not code is accepted.
# 4. If multiple CodeOwners are listed, ALL code owners must approve the PR prior to merge.
# 5. CodeOwners work in conjunction with Github's "Number of Required Approvals (1)" requirement.
# ================================================
# GitHub username registry
# ================================================
# damienwebdev - Damien Retzinger
######################################################################################################
#
# Team structure and memberships
# ------------------------------
#
#
# Any changes to team structure or memberships must first be made in this file and only then
# implemented in the GitHub UI.
#######################################################################################################
######################################################################################################
#
# CODEOWNERS rules
# -----------------
#
# All the following rules are applied in the order specified in this file.
# The last rule that matches wins!
#
# See https://git-scm.com/docs/gitignore#_pattern_format for pattern syntax docs.
#
######################################################################################################
# ================================================
# Default Owners
# ================================================
* @damienwebdev
# ================================================
# CODEOWNERS Owners owners ...
# ================================================
/.github/CODEOWNERS @damienwebdev
-3
View File
@@ -1,3 +0,0 @@
# These are supported funding model platforms
github: graycoreio
@@ -31,11 +31,29 @@ on:
required: true
jobs:
compute_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.supported-version.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- uses: ./supported-version
with:
kind: all
id: supported-version
- run: echo ${{ steps.supported-version.outputs.matrix }}
coding-standard:
needs: compute_matrix
strategy:
matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }}
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: './coding-standard'
with:
version: ${{ github.event.inputs.version || '*' }}
path: ${{ github.event.inputs.path || '_test/demo-package' }}
composer_version: ${{ matrix.composer }}
php_version: ${{ matrix.php }}
@@ -0,0 +1,39 @@
name: Get Composer Version
on:
push:
branches:
- main
- testing
paths:
- ".github/workflows/_internal-get-composer-version.yaml"
- "get-composer-version/**"
- "!(**/*.md)"
pull_request:
branches:
- main
paths:
- ".github/workflows/_internal-get-composer-version.yaml"
- "get-composer-version/**"
- "!(**/*.md)"
jobs:
get-composer-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set PHP Version
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
tools: composer:v2.4.2
- uses: ./get-composer-version
id: composer-version
- name: Fail if versions do not match
if: steps.composer-version.outputs.version != '2.4.2'
shell: bash
run: echo "${{ steps.composer-version.outputs.version }}" && exit 1
@@ -20,7 +20,7 @@ jobs:
get-magento-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set PHP Version
uses: shivammathur/setup-php@v2
with:
+3 -3
View File
@@ -27,7 +27,7 @@ jobs:
outputs:
matrix: ${{ steps.supported-version.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./supported-version
with:
kind: all
@@ -41,11 +41,11 @@ jobs:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./installation-test
with:
composer_version: ${{ matrix.composer }}
php_version: ${{ matrix.php }}
magento_version: ${{ matrix.magento }}
package_name: graycore/magento2-demo-package
package_name: mage-os/magento2-demo-package
source_folder: $GITHUB_WORKSPACE/_test/demo-package
+3 -3
View File
@@ -27,7 +27,7 @@ jobs:
outputs:
matrix: ${{ steps.supported-version.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./supported-version
with:
kind: all
@@ -37,8 +37,8 @@ jobs:
needs: compute_matrix
uses: ./.github/workflows/integration.yaml
with:
package_name: graycore/magento2-demo-package
package_name: mage-os/magento2-demo-package
source_folder: $GITHUB_WORKSPACE/_test/demo-package
matrix: ${{ needs.compute_matrix.outputs.matrix }}
test_command: ../../../vendor/bin/phpunit ../../../vendor/graycore/magento2-demo-package/Test/Integration
test_command: ../../../vendor/bin/phpunit ../../../vendor/mage-os/magento2-demo-package/Test/Integration
fail-fast: false
@@ -0,0 +1,69 @@
name: Test semvar-compare action
on:
push:
branches:
- main
paths:
- ".github/workflows/_internal-semver-compare.yaml"
- "semver-compare/**"
- "!(**/*.md)"
pull_request:
branches:
- main
paths:
- ".github/workflows/_internal-semver-compare.yaml"
- "semver-compare/**"
- "!(**/*.md)"
jobs:
semver-compare:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./semver-compare
id: version-compare-1
with:
version: 2.2.3
compare_against: 2.3
- uses: ./semver-compare
id: version-compare-2
with:
version: 2
compare_against: 2.0.1
- uses: ./semver-compare
id: version-compare-3
with:
version: 2.2.1
compare_against: 2.2
- uses: ./semver-compare
id: version-compare-4
with:
version: 2.2.0
compare_against: 2.2.0
- name: Fail if 2.3 is not higher than 2.2.3
if: steps.version-compare-1.outputs.result != -1
shell: bash
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
- name: Fail if 2.0.1 is not higher than 2
if: steps.version-compare-2.outputs.result != -1
shell: bash
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
- name: Fail if 2.2.1 is not higher than 2.2
if: steps.version-compare-3.outputs.result != 1
shell: bash
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
- name: Fail if 2.2.0 is not equals to 2.2.0
if: steps.version-compare-4.outputs.result != 0
shell: bash
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
@@ -29,7 +29,7 @@ jobs:
outputs:
matrix: ${{ steps.supported-version.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./supported-version
with:
kind: currently-supported
@@ -43,7 +43,7 @@ jobs:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: |
PSEUDO_STORE_FULL_PATH=$(realpath "${{ env.PSEUDO_REPO_FOLDER }}")
@@ -57,7 +57,7 @@ jobs:
php-version: ${{ matrix.php }}
tools: composer:v${{ matrix.composer }}
- uses: actions/cache@v3
- uses: actions/cache@v4
id: setup-magento-store-cache
with:
key: setup-magento-ci | ${{ runner.os }} | ${{ matrix.magento }}
@@ -106,7 +106,7 @@ jobs:
setup-magento-extension:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./setup-magento
id: setup-magento
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
- 8.1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./unit-test
with:
source_folder: _test/demo-package
@@ -7,7 +7,7 @@ on:
paths:
- ".github/workflows/_internal-supported-version.yaml"
- "supported-version/**"
- "package.json"
- "package-lock.json"
- "!(**/*.md)"
pull_request:
branches:
@@ -15,14 +15,14 @@ on:
paths:
- ".github/workflows/_internal-supported-version.yaml"
- "supported-version/**"
- "package.json"
- "package-lock.json"
- "!(**/*.md)"
jobs:
unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: npm ci
shell: bash
+40 -2
View File
@@ -66,7 +66,15 @@ jobs:
elasticsearch:
image: ${{ matrix.elasticsearch }}
env:
# By default, ElasticSearch refuses to spawn in single node configuration, as it expects redundancy.
# This is a dev environment, so redundancy is just wasteful.
discovery.type: single-node
# Disable HTTPS and password authentication
# this is a local dev environment, so the added CA chain complexity is an extreme overkill
xpack.security.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
options: >-
--health-cmd "curl http://localhost:9200/_cluster/health"
--health-interval 10s
@@ -94,7 +102,7 @@ jobs:
ports:
- 5672:5672
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set PHP Version
uses: shivammathur/setup-php@v2
with:
@@ -122,7 +130,7 @@ jobs:
- name: "Cache Composer Packages"
uses: actions/cache@v3
uses: actions/cache@v4
with:
key: "composer | v5 | ${{ inputs.composer_cache_key }} | ${{ hashFiles('composer.lock') }} | ${{ matrix.os }} | ${{ matrix.composer }} | ${{ matrix.php }} | ${{ matrix.magento }}"
path: ${{ steps.composer-cache.outputs.dir }}
@@ -176,6 +184,36 @@ jobs:
sed -i "s/'elasticsearch-host' => 'localhost'/'elasticsearch-host' => '127.0.0.1'/" etc/install-config-mysql.php.dist
sed -i "s/'amqp-host' => 'localhost'/'amqp-host' => '127.0.0.1'/" etc/install-config-mysql.php.dist
# mysql server 5.7 doesn't have the column-statistics expected by mysql client 8 (failing 2.3.7-p* builds)
# ref: https://gist.github.com/tobias-khs/8dcf82f719a2b3a7c3b9604b4df53bbf
- name: Switch from mysql-client 8 to mysql-client 5.7
if: |
steps.magento-version.outputs.version == '"2.3.7-p3"' || steps.magento-version.outputs.version == '"2.3.7-p4"'
run: |
mkdir -p /tmp/mysql-5.7
cd /tmp/mysql-5.7
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
wget --quiet https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.30-1ubuntu18.04_amd64.deb-bundle.tar
tar -xf mysql-server_5.7.30-1ubuntu18.04_amd64.deb-bundle.tar
sudo dpkg -i mysql-common_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb
mysqldump --version
- run: ${{ inputs.test_command }}
working-directory: ${{ inputs.magento_directory }}/dev/tests/integration
name: Run Integration Tests
- name: Upload test sandbox dir
uses: actions/upload-artifact@v4
if: failure()
with:
name: sandbox-data-${{ steps.magento-version.outputs.version }}
path: /home/runner/work/infrastructure/magento2/dev/tests/integration/tmp/sandbox-*
retention-days: 3
+16
View File
@@ -0,0 +1,16 @@
name: Create Release
on:
push:
branches:
- main
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
with:
token: ${{ secrets.GRAYCORE_GITHUB_TOKEN }}
command: manifest
default-branch: main
+1
View File
@@ -0,0 +1 @@
v18.18.0
+1
View File
@@ -0,0 +1 @@
{".":"2.0.0"}
+127
View File
@@ -2,6 +2,133 @@
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.
## [2.0.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.6.0...v2.0.0) (2025-03-25)
### ⚠ BREAKING CHANGES
* replace mage-os/github-actions with graycoreio/github-actions-magento2
* remove unmaintained workflows
### Features
* add `cache-magento` action ([#87](https://github.com/graycoreio/github-actions-magento2/issues/87)) ([f5d43a5](https://github.com/graycoreio/github-actions-magento2/commit/f5d43a5184d20dc60b5e45d47b9d14300eb14754))
* add `fix-magento` action ([#86](https://github.com/graycoreio/github-actions-magento2/issues/86)) ([856d2df](https://github.com/graycoreio/github-actions-magento2/commit/856d2df4819a5d0cdff6087a005ca966c7d409c0))
* add coding standard action ([#51](https://github.com/graycoreio/github-actions-magento2/issues/51)) ([2a102c2](https://github.com/graycoreio/github-actions-magento2/commit/2a102c253d319fc463b1006ea7cc020b2ffdcb6c))
* add Installation Test Action ([#1](https://github.com/graycoreio/github-actions-magento2/issues/1)) ([4bc0854](https://github.com/graycoreio/github-actions-magento2/commit/4bc0854cfcc6f527c678f8e712f79500524efde6))
* add integration test workflow ([#3](https://github.com/graycoreio/github-actions-magento2/issues/3)) ([d638c02](https://github.com/graycoreio/github-actions-magento2/commit/d638c02ecab005d2541d0480522d4c5e823156f2))
* 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))
* 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))
* 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))
* add project versions ([#110](https://github.com/graycoreio/github-actions-magento2/issues/110)) ([f7f0504](https://github.com/graycoreio/github-actions-magento2/commit/f7f0504691b19689227b4db17d333bca62f80cc0))
* 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))
* 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))
* 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))
* 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))
* 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))
* 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))
* add unit test action ([#2](https://github.com/graycoreio/github-actions-magento2/issues/2)) ([72b1f25](https://github.com/graycoreio/github-actions-magento2/commit/72b1f25310b4918b4702526e2b45d5e99f063ebb))
* 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))
* 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))
* 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))
* 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))
* 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))
* **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))
* **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))
* **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))
* 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))
* **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))
* **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))
* 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))
* 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))
* remove COMPOSER_AUTH requirement ([#18](https://github.com/graycoreio/github-actions-magento2/issues/18)) ([e92a242](https://github.com/graycoreio/github-actions-magento2/commit/e92a242f0af477623421949ade130ab316281142))
* remove unmaintained workflows ([4c536e3](https://github.com/graycoreio/github-actions-magento2/commit/4c536e3d96f78355ed7b37388564f3468040172b))
* replace mage-os/github-actions with graycoreio/github-actions-magento2 ([9c06178](https://github.com/graycoreio/github-actions-magento2/commit/9c06178b30d156338b5ced8bd8bdbaec79982291))
* 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))
* **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))
* **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))
* **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))
* **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))
* **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))
* **supported-version:** dynamically compute ([#120](https://github.com/graycoreio/github-actions-magento2/issues/120)) ([dbc889f](https://github.com/graycoreio/github-actions-magento2/commit/dbc889f7cea548d319a5cd206269b007319d53ec))
* **supported-version:** Magento v2.4.6 ([d3b1ab6](https://github.com/graycoreio/github-actions-magento2/commit/d3b1ab6b344b6a1ff705d2e57ad400ab506456be))
* **supported-version:** package @actions/core:1.10.0 ([e4f0f85](https://github.com/graycoreio/github-actions-magento2/commit/e4f0f85e38ac6e342780d2bdaac28a19c1cab49d))
* **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))
* **supported-version:** validate custom_versions ([5c19804](https://github.com/graycoreio/github-actions-magento2/commit/5c198049f7002fff785d07f344f3773ce92e2c0f))
* 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))
* 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))
### Bug Fixes
* 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))
* 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))
* 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))
* **installation-test:** handle non-range composer versions ([c136c11](https://github.com/graycoreio/github-actions-magento2/commit/c136c111d923fa3c9d4f3fbeb38cd81d593168da))
* **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))
* **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))
* **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))
* 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))
* 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))
* PHPcs baseline composer conflicts ([bf34ec4](https://github.com/graycoreio/github-actions-magento2/commit/bf34ec4964e683e47b442f82d1cdb0d74b01de69))
* **supported-version:** falsiness of custom_versions ([c9b7f41](https://github.com/graycoreio/github-actions-magento2/commit/c9b7f41525923edd1fc40b635d776ad5c2ebf6ec))
* **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))
* **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))
* **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))
* **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))
* switch from tj-actions/changed-files to dorny/paths-filter ([87fe77f](https://github.com/graycoreio/github-actions-magento2/commit/87fe77f8a8dcf6828317894c4b849c4be041853f))
* 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))
## [1.6.0](https://github.com/mage-os/github-actions/compare/v1.5.0...v1.6.0) (2025-03-07)
### Features
* 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))
## [1.5.0](https://github.com/mage-os/github-actions/compare/v1.4.0...v1.5.0) (2024-12-30)
### Features
* 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))
* 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))
* add project versions ([#110](https://github.com/mage-os/github-actions/issues/110)) ([f7f0504](https://github.com/mage-os/github-actions/commit/f7f0504691b19689227b4db17d333bca62f80cc0))
* 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))
* 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))
* 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))
* 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))
* **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))
* **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))
* **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))
* **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))
### Bug Fixes
* 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))
* 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))
* 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))
* 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))
* 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))
* PHPcs baseline composer conflicts ([bf34ec4](https://github.com/mage-os/github-actions/commit/bf34ec4964e683e47b442f82d1cdb0d74b01de69))
* **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))
* switch from tj-actions/changed-files to dorny/paths-filter ([87fe77f](https://github.com/mage-os/github-actions/commit/87fe77f8a8dcf6828317894c4b849c4be041853f))
* 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))
## [1.4.0](https://github.com/mage-os/github-actions/compare/v1.3.0...v1.4.0) (2023-06-20)
### Features
* 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))
* **supported-version:** validate custom_versions ([5c19804](https://github.com/mage-os/github-actions/commit/5c198049f7002fff785d07f344f3773ce92e2c0f))
### Bug Fixes
* **supported-version:** falsiness of custom_versions ([c9b7f41](https://github.com/mage-os/github-actions/commit/c9b7f41525923edd1fc40b635d776ad5c2ebf6ec))
## [1.3.0](https://github.com/graycoreio/github-actions-magento2/compare/v1.2.0...v1.3.0) (2023-03-15)
+1
View File
@@ -0,0 +1 @@
* @Mage-OS/infrastructure
+1 -1
View File
@@ -35,7 +35,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project lead at [damien@graycore.io](mailto:damien@graycore.io). 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.
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.
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.
+1
View File
@@ -31,4 +31,5 @@ Opinionated Github Actions and Workflows to make building, testing, and maintain
| [Setup Magento](./setup-magento/README.md) | A Github Action that sets up Magento before `composer install` for an extension or store. |
| [Get Magento Version](./get-magento-version/README.md) | A Github Action that computes the installed Magento version. |
| [Installation Test](./installation-test/README.md) | A Github Action that tests the installability of a Magento Package |
| [Semver Compare](./semver-compare/README.md) | A Github Action that semantically compares two versions |
| [Supported Version](./supported-version/README.md) | A Github Action that computes the currently supported Github Actions Matrix for Magento 2 |
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "graycore/magento2-demo-package",
"name": "mage-os/magento2-demo-package",
"description": "A Magento 2 Demostration Package",
"type": "magento2-module",
"license": "MIT",
+1 -3
View File
@@ -9,9 +9,8 @@ See the [action.yml](./action.yml)
| Input | Description | Required | Default |
| ------------------ | -------------------------------------------------------------------------------------- | -------- | ------------ |
| composer_cache_key | A key to version the composer cache. Can be incremented if you need to bust the cache. | false | '__graycore' |
| composer_cache_key | A key to version the composer cache. Can be incremented if you need to bust the cache. | false | '__mageos' |
| mode | "The mode for setup, one of: `extension` or `store`." | true | N/A |
| magento_directory | The Magento directory for the action to run against. | true | N/A |
### Usage
@@ -33,7 +32,6 @@ jobs:
- uses: actions/checkout@v3
- uses: graycoreio/github-actions-magento2/cache-magento@main
with:
magento_directory: $GITHUB_WORKSPACE
mode: 'store'
id: cache-magento
+1 -1
View File
@@ -5,7 +5,7 @@ description: "A Github Action that creates a composer cache for a Magento extens
inputs:
composer_cache_key:
required: false
default: "__graycore"
default: "__mageos"
description: A key to version the composer cache. Can be incremented if you need to bust the cache.
mode:
+45
View File
@@ -0,0 +1,45 @@
# Magento 2 Coding Standard Action
This Github Action automates the enforcement of Magento Coding Standards. It ensures code consistency and quality by checking code against Magento's specific coding guidelines.
## Inputs
For detailed descriptions of each input, refer to [action.yml](./action.yml).
## Why a Baseline?
Running PHP CodeSniffer (PHPCS) with a baseline is crucial for managing legacy code. It allows you to set a "starting point" for code quality, ignoring existing issues while ensuring no new issues are introduced. This approach is especially useful for large codebases where addressing all existing issues at once is not feasible. The baseline serves as a record of known issues, enabling teams to focus on maintaining and gradually improving code quality in new or modified code.
## Usage Example
The following example demonstrates how to set up the action in your workflow:
Check how this action is used in mage-os [here](https://github.com/mage-os/mageos-magento2/blob/2.4-develop/.github/workflows/coding-standard-baseline.yml).
```yml
name: Coding Standard Baseline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
coding-standard:
runs-on: ubuntu-latest
steps:
- uses: graycoreio/github-actions-magento2/coding-standard-baseline@main
with:
head_repo: "mage-os/mageos-magento2"
head_ref: "main"
php_version: "8.2"
composer_version: "2"
version: "*"
severity: "5"
warning_severity: "8"
error_severity: "8"
baseline_version: "*"
```
+151
View File
@@ -0,0 +1,151 @@
name: "M2 Coding Standard"
author: "Mage-OS"
description: "A Github Action that runs the Magento Coding Standard."
inputs:
php_version:
type: string
required: true
default: "8.2"
description: "PHP version used to do the coding standard check (default: 8.2)."
composer_version:
type: string
required: true
default: "2"
description: "The version of composer to use (default: 2)."
version:
type: string
required: false
default: "*"
description: "The version of the coding standard to use (default: latest)."
severity:
type: string
required: false
default: "5"
description: "The minimum severity required to display an error or warning (default: 5)"
warning_severity:
type: string
required: false
default: "8"
description: "The minimum severity required to display a warning (default: 8)."
error_severity:
type: string
required: false
default: "8"
description: "The minimum severity required to display an error (default: 8)."
baseline_version:
type: string
required: false
default: "*"
description: "The version of phpcs baseline to use (default: latest)."
head_repo:
type: string
required: true
description: "The repository full name of the head branch. E.g.: mage-os/mageos-magento2"
head_ref:
type: string
required: true
description: "The branch name of the head branch. E.g.: main"
runs:
using: composite
steps:
- name: Checkout head
uses: actions/checkout@v4
with:
ref: ${{ inputs.head_ref }}
repository: ${{ inputs.head_repo }}
- uses: dorny/paths-filter@v2
name: Filter changed files
id: filter
with:
list-files: shell
filters: |
baseline:
- modified: '**/**.{php,phtml,graphqls,less,css,html,xml,js}'
phpcs:
- added|modified: '**/**.{php,phtml,graphqls,less,css,html,xml,js}'
- name: Check changed files for PHPcs
if: steps.filter.outputs.phpcs == 'true'
shell: bash
run: |
echo "One or more files relevant to PHPCS have changed."
echo "List all the files that have been added or changed: ${{ steps.filter.outputs.phpcs_files }}"
- name: Setup PHP
if: steps.filter.outputs.phpcs == 'true'
uses: shivammathur/setup-php@v2
with:
php-version: ${{ inputs.php_version }}
tools: composer:v${{ inputs.composer_version }}
coverage: none
- name: Install coding standards
if: steps.filter.outputs.phpcs == 'true'
shell: bash
run: |
composer create-project --no-plugins --no-dev \
magento/magento-coding-standard \
magento-coding-standard "${{ github.event.inputs.version || '*' }}"
- name: Install phpcs baseline
if: steps.filter.outputs.phpcs == 'true'
working-directory: magento-coding-standard
shell: bash
run: |
composer config --no-plugins allow-plugins.digitalrevolution/php-codesniffer-baseline true
composer require --dev "digitalrevolution/php-codesniffer-baseline: ${{ github.event.inputs.baseline_version || '*' }}"
- name: Checkout base
if: steps.filter.outputs.phpcs == 'true'
uses: actions/checkout@v4
with:
ref: ${{github.event.pull_request.base.ref}}
repository: ${{github.event.pull_request.base.repo.full_name}}
path: base
- name: Create phpcs.baseline.xml from base
shell: bash
working-directory: base
if: steps.filter.outputs.baseline == 'true'
run: |
php ${{ github.workspace }}/magento-coding-standard/vendor/bin/phpcs --standard=Magento2 \
$([ -n "${{ inputs.severity }}" ] && echo "--severity=${{ inputs.severity }}") \
$([ -n "${{ inputs.warning_severity }}" ] && echo "--warning-severity=${{ inputs.warning_severity }}") \
$([ -n "${{ inputs.error_severity }}" ] && echo "--error-severity=${{ inputs.error_severity }}") \
--report=\\DR\\CodeSnifferBaseline\\Reports\\Baseline --report-file=phpcs.baseline.xml \
${{ steps.filter.outputs.baseline_files }} || /bin/true
- name: Copy baseline to head
if: steps.filter.outputs.baseline == 'true'
shell: bash
run: |
cp ${{ github.workspace }}/base/phpcs.baseline.xml ${{ github.workspace }}/magento-coding-standard/phpcs.baseline.xml
# Since we ran phpcs in the base folder, the files in phpcs.baseline.xml contain the base folder in the path.
# We need to remove /base/ so that the phpcs can locate the correct files.
- name: Remove base dir from phpcs baseline
if: steps.filter.outputs.baseline == 'true'
shell: bash
run: |
sed -i "s|/base/|/|" ${{ github.workspace }}/magento-coding-standard/phpcs.baseline.xml
- name: Execute phpcs on head for changed files
shell: bash
if: steps.filter.outputs.phpcs == 'true'
run: |
php ${{ github.workspace }}/magento-coding-standard/vendor/bin/phpcs --standard=Magento2 \
$([ -n "${{ inputs.severity }}" ] && echo "--severity=${{ inputs.severity }}") \
$([ -n "${{ inputs.warning_severity }}" ] && echo "--warning-severity=${{ inputs.warning_severity }}") \
$([ -n "${{ inputs.error_severity }}" ] && echo "--error-severity=${{ inputs.error_severity }}") \
${{ steps.filter.outputs.phpcs_files }}
+3
View File
@@ -27,4 +27,7 @@ jobs:
with:
version: 25 # Optional, will use the latest if omitted.
path: app/code # Optional, will be used when event is not a pull request.
severity: 8 # Optional, will use phpcs default of 5 if not specified.
warning_severity: 4 # Optional, will use severity value if not specified.
error_severity: 7 # Optional, will use severity value if not specified.
```
+49 -1
View File
@@ -22,6 +22,26 @@ inputs:
required: false
description: "The version of the coding standard to use. If not provided, will use the latest version."
severity:
required: false
default: ""
description: "The minimum severity required to display an error or warning (default: 5)"
warning_severity:
required: false
default: ""
description: "The minimum severity required to display a warning"
error_severity:
required: false
default: ""
description: "The minimum severity required to display an error"
ignore_warnings:
description: 'Whether or not the action should fail on warnings, defaults to false (fails on warnings)'
default: 'false'
required: false
runs:
using: composite
steps:
@@ -42,6 +62,23 @@ runs:
tools: composer:v${{ inputs.composer_version }}
coverage: none
- name: Get Composer Version
uses: graycoreio/github-actions-magento2/get-composer-version@main
id: get-composer-version
- name: Check if allow-plugins option is available for this version of composer
uses: graycoreio/github-actions-magento2/semver-compare@main
with:
version: 2.2
compare_against: ${{ steps.get-composer-version.outputs.version }}
id: is-allow-plugins-available
- name: Enable dealerdirect/phpcodesniffer-composer-installer plugin
shell: bash
working-directory: standard
run: composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true --global
if: steps.is-allow-plugins-available.outputs.result < 1
- name: Install Coding Standard
shell: bash
working-directory: standard
@@ -52,6 +89,12 @@ runs:
working-directory: standard
run: vendor/bin/phpcs --config-set installed_paths ${{ github.workspace }}/standard/vendor/magento/magento-coding-standard,${{ github.workspace }}/standard/vendor/phpcompatibility/php-compatibility
- name: Set ignore warnings flag
shell: bash
working-directory: standard
run: vendor/bin/phpcs --config-set ignore_warnings_on_exit 1
if: inputs.ignore_warnings == 'true'
- name: Get Changed Files
shell: bash
working-directory: project
@@ -61,5 +104,10 @@ runs:
- name: Coding Standard Check
shell: bash
run: ../standard/vendor/bin/phpcs --standard=Magento2 ${{ github.event_name == 'pull_request' && steps.changed-files.outputs.files || inputs.path }}
run: |
../standard/vendor/bin/phpcs --standard=Magento2 \
$([ -n "${{ inputs.severity }}" ] && echo "--severity=${{ inputs.severity }}") \
$([ -n "${{ inputs.warning_severity }}" ] && echo "--warning-severity=${{ inputs.warning_severity }}") \
$([ -n "${{ inputs.error_severity }}" ] && echo "--error-severity=${{ inputs.error_severity }}") \
${{ github.event_name == 'pull_request' && steps.changed-files.outputs.files || inputs.path }}
working-directory: project
+32
View File
@@ -0,0 +1,32 @@
# "Get Composer Version" Action
A Github Action that computes an installed Composer version.
## Inputs
See the [action.yml](./action.yml)
## Usage
```yml
name: Get Composer Version
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
version:
runs-on: ubuntu-latest
name: A job to compute an installed Composer version.
steps:
- uses: actions/checkout@v3
- uses: graycoreio/github-actions-magento2/get-composer-version@main
id: get-composer-version
- run: echo version ${{ steps.get-composer-version.outputs.version }}
shell: bash
```
+20
View File
@@ -0,0 +1,20 @@
name: "Get Composer Version"
author: "Graycore"
description: " A Github Action that determines the currently installed version of Composer"
outputs:
version: # id of output
description: 'The determined version of Composer'
value: ${{ steps.get-composer-version.outputs.version }}
runs:
using: "composite"
steps:
- run: echo "version=$(composer --version | awk '{print $3}')" >> $GITHUB_OUTPUT
shell: bash
name: Compute Installed Composer version
id: get-composer-version
branding:
icon: "code"
color: "green"
+2861 -7334
View File
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -1,6 +1,6 @@
{
"name": "@graycore/github-actions-magento",
"version": "1.3.0",
"name": "@graycoreio/github-actions-magento2",
"version": "2.0.0",
"description": "Github Actions for Magento 2",
"scripts": {
"test": "cd supported-version && npm run test && cd -",
@@ -21,15 +21,15 @@
"@actions/core": "^1.10.0"
},
"devDependencies": {
"@types/jest": "^28.1.7",
"@types/node": "^18.8.3",
"@typescript-eslint/eslint-plugin": "^5.48.1",
"@typescript-eslint/parser": "^5.48.1",
"esbuild": "^0.16.16",
"eslint": "^8.31.0",
"jest": "^28.1.3",
"@types/jest": "^29.5.11",
"@types/node": "^22.13.9",
"@typescript-eslint/eslint-plugin": "^8.26.1",
"@typescript-eslint/parser": "^8.26.1",
"esbuild": "^0.25.1",
"eslint": "^9.22.0",
"jest": "^29.5.0",
"standard-version": "^9.5.0",
"ts-jest": "^28.0.8",
"typescript": "^4.9.4"
"ts-jest": "^29.2.6",
"typescript": "^5.8.2"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true,
"draft-pull-request": true,
"prerelease": true,
"include-component-in-tag": false,
"include-v-in-tag": true,
"pull-request-title-pattern": "chore: release ${version}",
"packages": {
".": {
"release-type": "node"
}
}
}
+41
View File
@@ -0,0 +1,41 @@
# "Semver Compare" Action
A Github Action that semantically compares two versions, like 2.1.1 and 2.3.0 giving information about whether or the version is "higher" or "lower" than another version. The action exposes an output called `result` which will match the return type of the PHP [version_compare](https://www.php.net/manual/en/function.version-compare.php) function.
Currently, this action compares `version` against `compare_against` and returns:
- `-1` - if `version` is lower than `compare_against`
- `0` - if `version` is equal to `compare_against`
- `1` - if `version` is greater than `compare_against`
## Inputs
See the [action.yml](./action.yml)
## Usage
```yml
name: Semver Compare
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
version:
runs-on: ubuntu-latest
name: A job to semantically compare two versions
steps:
- uses: actions/checkout@v3
- uses: graycoreio/github-actions-magento2/semver-compare@main
with:
version: 2.1.0
compare_against: 2.2.3
id: semver-compare
- run: echo version ${{ steps.semver-compare.outputs.result }}
shell: bash
```
+29
View File
@@ -0,0 +1,29 @@
name: "Semver Compare"
author: "Graycore"
description: "A Github Action that compares two versions, semantically"
inputs:
version:
required: true
description: "Original version"
compare_against:
required: true
description: "The version to compare against"
outputs:
result: # id of output
description: "The result of comparison. By default, this returns -1 if the first version is lower than the second, 0 if they are equal, and 1 if the second is lower."
value: ${{ steps.semver-compare.outputs.result }}
runs:
using: "composite"
steps:
- name: Semantically compare two versions
run: php -r "echo 'result=' . version_compare('${{ inputs.version }}', '${{ inputs.compare_against }}');" >> $GITHUB_OUTPUT
shell: bash
id: semver-compare
branding:
icon: "code"
color: "green"
+29
View File
@@ -0,0 +1,29 @@
# Magento 2 setup:di:compile action
A Github Action that runs `php bin/magento setup:di:compile` and checks for compilation errors.
## Inputs
See the [action.yml](./action.yml)
## Usage
```yml
name: Magento setup:di:compile check
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
setup-di-compile:
runs-on: ubuntu-latest
steps:
- uses: graycoreio/github-actions-magento2/setup-di-compile@main
with:
php_version: "8.3"
composer_version: "2"
```
+58
View File
@@ -0,0 +1,58 @@
name: "Magento compilation (setup:di:compile)"
author: "MageOS"
description: "A Github Action that runs bin/magento setup:di:compile."
inputs:
php_version:
required: true
default: "8.3"
description: "PHP version used to run setup:di:compile."
composer_version:
required: true
default: "2"
description: "The version of composer to use."
runs:
using: composite
steps:
- name: Checkout Project
uses: actions/checkout@v3
- name: Get changed files that could break compilation
uses: tj-actions/changed-files@v39
id: changed-files
with:
files_yaml: |
magento:
- 'composer.lock'
- 'composer.json'
- '**/*.php'
- '**/*.xml'
- name: Set PHP Version
if: steps.changed-files.outputs.magento_any_changed == 'true'
uses: shivammathur/setup-php@v2
with:
php-version: ${{ inputs.php_version }}
tools: composer:v${{ inputs.composer_version }}
coverage: none
- uses: graycoreio/github-actions-magento2/cache-magento@main
with:
mode: 'store'
- name: Install composer dependencies
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: composer install
- name: Enable all modules
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: php bin/magento module:enable --all
- name: Compile
if: steps.changed-files.outputs.magento_any_changed == 'true'
shell: bash
run: php bin/magento setup:di:compile
+10 -4
View File
@@ -1,6 +1,6 @@
# Magento 2 Supported Versions
A Github Action that computes the currently supported Github Actions Matrix for Magento 2 Versions
A GitHub Action that computes the currently supported GitHub Actions Matrix for Magento 2 Versions
All data comes from:
@@ -11,10 +11,11 @@ All data comes from:
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. Allowed values are `currently-supported`, `latest`, `custom`, `nightly` and `all` | false | 'currently-supported' |
| 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 | '' |
| project | The project to return the supported versions for. Allowed values are `mage-os` 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 | '' |
## Kinds
- `currently-supported` - The currently supported Magento Open Source versions by Adobe.
@@ -22,6 +23,11 @@ See the [action.yml](./action.yml)
- `custom` - A custom subset of the versions, as specified by you. Requires `custom_versions` sibling key.
- `nightly` - The nightly version of Magento (only available via `https://upstream-nightly.mage-os.org`)
- `all` - All versions of Magento (including patched/unpatched versions).
## Projects
- `mage-os`
- `magento-open-source` (default)
## Usage
```yml
+7 -2
View File
@@ -1,5 +1,5 @@
name: "Compute Supported Magento 2 Versions"
author: "Graycore"
name: "Compute Supported Mage-OS and Magento 2 Versions"
author: "Mage-OS"
description: "A Github Action that computes the Github Actions matrix for the chosen versions of Magento 2"
inputs:
@@ -7,6 +7,11 @@ inputs:
required: false
description: "The kind of versions you want to return. Allowed values are `currently-supported`, `latest`, `custom`, `nightly` and `all`"
default: "currently-supported"
project:
required: false
description: "The project to return the supported versions for. Allowed values are `mage-os` and `magento-open-source`"
# The default value is what it is to keep backward compatibility
default: "magento-open-source"
custom_versions:
required: false
description: "The specific custom versions of Magento that you want to use. Only applies when `kind` is `custom`"
+66 -6
View File
File diff suppressed because one or more lines are too long
+3900
View File
File diff suppressed because it is too large Load Diff
+11 -2
View File
@@ -1,5 +1,5 @@
{
"name": "@graycore/github-actions-magento2-supported-version",
"name": "@graycoreio/github-actions-magento2-supported-version",
"version": "1.0.0",
"description": "A Github Action that computes the currently supported Github Actions Matrix for Magento 2 Versions",
"main": "index.js",
@@ -9,5 +9,14 @@
"test": "jest"
},
"author": "",
"license": "MIT"
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.1",
"@actions/github": "^6.0.0"
},
"devDependencies": {
"@types/jest": "^29.5.12",
"jest": "^29.7.0",
"ts-jest": "^29.2.3"
}
}
+8 -4
View File
@@ -1,16 +1,20 @@
import * as core from '@actions/core';
import { validateOrError } from './kind/compute-kind';
import { validateKind } from './kind/validate-kinds';
import { getMatrixForKind } from './matrix/get-matrix-for-kind';
import { validateProject } from "./project/validate-projects";
export async function run(): Promise<void> {
try {
const kind = core.getInput("kind");
validateOrError(kind);
const customVersions = core.getInput("custom_versions");
const project = core.getInput("project");
core.setOutput('matrix', getMatrixForKind(kind, customVersions));
validateProject(<any>project)
validateKind(<any>kind, customVersions ? customVersions.split(',') : undefined);
core.setOutput('matrix', getMatrixForKind(kind, project, customVersions));
}
catch (error) {
core.setFailed(error.message);
@@ -1,11 +0,0 @@
import { isValidKind } from "./compute-kind";
describe('isValidKind', () => {
it('returns `true` if its a valid kind', () => {
expect(isValidKind("latest")).toBe(true);
});
it('returns `false` if it is not a valid kind', () => {
expect(isValidKind("taco")).toBe(false);
})
})
@@ -1,23 +0,0 @@
/**
* Acceptable arguments for version `kind`
*/
export const KNOWN_KINDS = {
'currently-supported': true,
'latest': true,
'custom': true,
'nightly': true,
'all': true,
}
export const isValidKind = (kind: string): boolean => {
return kind in KNOWN_KINDS;
};
export const validateOrError = (kind: string): true => {
if(isValidKind(kind)){
return true;
}
else {
throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(KNOWN_KINDS).join(', ')}`);
}
}
@@ -1,47 +1,113 @@
import { getCurrentlySupportedVersions } from "./get-currently-supported";
import { Project } from "../project/projects";
describe('getCurrentlySupportedVersions for magento-open-source', () => {
const project: Project = "magento-open-source";
describe('getCurrentlySupportedVersions', () => {
it('should say that v2.4.0 is not supported in 2025', () => {
const date: Date = new Date('2025-01-01T00:00:00Z');
expect(getCurrentlySupportedVersions(date)).not.toContain('magento/project-community-edition:2.4.0');
expect(getCurrentlySupportedVersions(project, date)).not.toContain('magento/project-community-edition:2.4.0');
});
test.each([
//TODO: add a release-date so that past dates do not incur non-contemporaneous
// versions.
['2023-01-01T00:00:00Z', 'First day of 2023', [
'magento/project-community-edition:2.4.4-p2',
'magento/project-community-edition:2.4.4-p3',
'magento/project-community-edition:2.4.5-p1',
]],
['2023-03-14T00:00:00Z', 'Day of v2.4.6 Release', [
'magento/project-community-edition:2.4.4-p2',
'magento/project-community-edition:2.4.5-p1'
]],
['2023-03-15T00:00:00Z', 'Day after v2.4.6 Release', [
'magento/project-community-edition:2.4.4-p3',
'magento/project-community-edition:2.4.5-p2',
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.6'
]],
['2023-10-09T00:00:00Z', 'Day before v2.4.6-p3 Release', [
'magento/project-community-edition:2.4.4-p5',
'magento/project-community-edition:2.4.5-p4',
'magento/project-community-edition:2.4.6-p2'
]],
['2023-10-11T00:00:00Z', 'Day od v2.4.6-p3 Release', [
'magento/project-community-edition:2.4.4-p6',
'magento/project-community-edition:2.4.5-p5',
'magento/project-community-edition:2.4.6-p3'
]],
['2024-01-01T00:00:00Z', 'First day of 2024', [
'magento/project-community-edition:2.4.4-p3',
'magento/project-community-edition:2.4.5-p2',
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.4-p6',
'magento/project-community-edition:2.4.5-p5',
'magento/project-community-edition:2.4.6-p3',
]],
['2024-12-31T00:00:00Z', 'End of 2024', [
'magento/project-community-edition:2.4.4-p3',
'magento/project-community-edition:2.4.5-p2',
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.4-p11',
'magento/project-community-edition:2.4.5-p10',
'magento/project-community-edition:2.4.6-p8',
'magento/project-community-edition:2.4.7-p3',
]],
['2025-08-08T00:00:00Z', 'Day Before v2.4.5 EoL', [
'magento/project-community-edition:2.4.5-p2',
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.5-p11',
'magento/project-community-edition:2.4.6-p9',
'magento/project-community-edition:2.4.7-p4',
]],
['2025-08-09T00:00:00Z', 'Day of v2.4.5 EoL', [
'magento/project-community-edition:2.4.5-p2',
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.5-p11',
'magento/project-community-edition:2.4.6-p9',
'magento/project-community-edition:2.4.7-p4',
]],
['2025-08-10T00:00:00Z', 'Day after v2.4.5 EoL', [
'magento/project-community-edition:2.4.6',
'magento/project-community-edition:2.4.6-p9',
'magento/project-community-edition:2.4.7-p4',
]],
['2025-12-31T00:00:00Z', 'End of 2025', [
'magento/project-community-edition:2.4.6-p9',
'magento/project-community-edition:2.4.7-p4',
]],
['2026-03-15T00:00:00Z', 'Day after v2.4.6 EoL', [
'magento/project-community-edition:2.4.7-p4',
]],
['2027-04-09T00:00:00Z', 'Day of v2.4.7 EoL', [
'magento/project-community-edition:2.4.7-p4',
]],
['2027-04-10T00:00:00Z', 'Day after v2.4.7 EoL', [
]],
])(
'supportedVersions for %s',
(date, description ,result) => {
expect(
getCurrentlySupportedVersions(new Date(date))
getCurrentlySupportedVersions(project, new Date(date))
).toEqual(result);
}
);
})
describe('getCurrentlySupportedVersions for mage-os', () => {
const project: Project = "mage-os";
it('should say that v1.0.0 is not supported in 2027', () => {
const date: Date = new Date('2027-01-01T00:00:00Z');
expect(getCurrentlySupportedVersions(project, date)).not.toContain('mage-os/project-community-edition:1.0.0');
});
test.each([
['2023-01-01T00:00:00Z', 'First day of 2023', [
]],
['2023-10-10T15:00:00Z', 'Release of 1.0.0', [
'mage-os/project-community-edition:1.0.0',
]],
['2024-01-01T00:00:00Z', 'First day of 2024', [
'mage-os/project-community-edition:1.0.1',
]],
['2024-07-17T00:00:00Z', 'Day before release of 1.0.2', [
'mage-os/project-community-edition:1.0.1',
]],
['2024-07-18T00:00:01Z', 'Release of 1.0.2', [
'mage-os/project-community-edition:1.0.2',
]],
])(
'supportedVersions for %s',
(date, description ,result) => {
expect(
getCurrentlySupportedVersions(project, new Date(date))
).toEqual(result);
}
);
@@ -1,7 +1,13 @@
import { MagentoMatrixVersion } from '../matrix/matrix-type';
import allVersions from '../versions/individual.json';
import { PackageMatrixVersion } from '../matrix/matrix-type';
import { getIndividualVersionsForProject } from "../versions/get-versions-for-project";
export const getCurrentlySupportedVersions = (date: Date): string[] =>
Object.entries(<Record<string,MagentoMatrixVersion>>allVersions)
.filter(([key, value]) => new Date(value.eol) >= date)
.map(([key, value]) => key);
export const getCurrentlySupportedVersions = (project: string, date: Date): string[] => {
const allVersions = getIndividualVersionsForProject(project)
return Object.entries(<Record<string,PackageMatrixVersion>>allVersions)
.filter(([key, value]) => {
const dayOfRelease = new Date(value.release);
dayOfRelease.setSeconds(dayOfRelease.getSeconds() + 1);
return date >= dayOfRelease && new Date(value.eol) >= date;
})
.map(([key, value]) => key);
}
+12
View File
@@ -0,0 +1,12 @@
/**
* Acceptable arguments for version `kind`
*/
export const KNOWN_KINDS = {
'currently-supported': true,
'latest': true,
'custom': true,
'nightly': true,
'all': true,
}
export type Kind = keyof typeof KNOWN_KINDS;
-3
View File
@@ -1,3 +0,0 @@
[
"magento/project-community-edition"
]
-3
View File
@@ -1,3 +0,0 @@
[
"magento/project-community-edition:next"
]
@@ -0,0 +1,4 @@
{
"mage-os": ["mage-os/project-community-edition"],
"magento-open-source": ["magento/project-community-edition"]
}
@@ -0,0 +1,4 @@
{
"mage-os": ["mage-os/project-community-edition:next"],
"magento-open-source": ["magento/project-community-edition:next"]
}
@@ -0,0 +1,19 @@
import { validateKind } from "./validate-kinds";
describe('validateKind', () => {
it('returns `true` if its a valid kind', () => {
expect(validateKind("latest")).toBe(true);
});
it('throws a helpful exception if its an invalid kind', () => {
expect(() => validateKind(<any>"taco")).toThrowError();
})
it('throws a helpful exception if custom versions are provided with the wrong kind', () => {
expect(() => validateKind(<any>"latest", [])).toThrowError();
})
it('returns `true` for kind `custom` with a custom versions', () => {
expect(validateKind("custom", "mage-os/project-community-edition:1.0.0".split(","))).toBe(true);
})
})
@@ -0,0 +1,12 @@
import { customVersionsValidator } from "./validations/custom-versions-validator";
import { isKnownKind } from "./validations/is-known-kind";
import { KindValidator } from "./validator";
export const validateKind: KindValidator = (kind, custom_versions = null): boolean => {
return validators.reduce((acc, el) => el(kind, custom_versions), true);
}
export const validators: KindValidator[] = [
isKnownKind,
customVersionsValidator,
];
@@ -0,0 +1,8 @@
import { KindValidator } from "../validator";
export const customVersionsValidator: KindValidator = (kind, customVersions) => {
if(customVersions && kind !== 'custom') {
throw new Error('`custom_versions` can only be used with kind `custom`');
}
return true;
}
@@ -0,0 +1,11 @@
import { KNOWN_KINDS, Kind } from "../kinds";
export const isKnownKind = (kind: Kind): boolean => {
if(!(kind in KNOWN_KINDS)) {
throw new Error(
`Invalid kind provided, supported kinds are: ${Object.keys(KNOWN_KINDS).join(', ')}`
);
}
return true;
};
+3
View File
@@ -0,0 +1,3 @@
import { Kind } from "./kinds";
export type KindValidator = (kind: Kind, custom_versions?: string[]) => boolean;
@@ -1,49 +1,110 @@
import { getMatrixForKind } from "./get-matrix-for-kind";
describe('getMatrixForKind', () => {
describe('getMatrixForKind for mage-os', () => {
const project = "mage-os";
it('returns a matrix for `latest`', () => {
const result = getMatrixForKind("latest");
const result = getMatrixForKind("latest", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for `currently-supported`', () => {
const result = getMatrixForKind("currently-supported");
const result = getMatrixForKind("currently-supported", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for `all`', () => {
const result = getMatrixForKind("all");
const result = getMatrixForKind("all", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for valid `custom`', () => {
const result = getMatrixForKind("custom", "magento/project-community-edition:2.3.7-p3");
const result = getMatrixForKind("custom", project, "mage-os/project-community-edition:1.0.0");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
expect(result.magento[0]).toBe('mage-os/project-community-edition:1.0.0');
});
it('returns a matrix nightly`', () => {
const result = getMatrixForKind("nightly", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
expect(result.magento[0]).toBe('mage-os/project-community-edition:@alpha');
});
it('returns a matrix for the next release when using `nightly`', () => {
const result = getMatrixForKind("nightly", "magento/project-community-edition:next");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for valid multiple `custom`', () => {
const result = getMatrixForKind("custom", "magento/project-community-edition:2.3.7-p3,magento/project-community-edition:2.4.0");
const result = getMatrixForKind("nightly", project, "mage-os/project-community-edition:next");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('errors for invalid `custom``', () => {
expect(() => getMatrixForKind("custom")).toThrowError();
expect(() => getMatrixForKind("custom", project)).toThrowError();
});
})
describe('getMatrixForKind for magento-open-source', () => {
const project = "magento-open-source";
it('returns a matrix nightly`', () => {
const result = getMatrixForKind("nightly", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for `latest`', () => {
const result = getMatrixForKind("latest", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for `currently-supported`', () => {
const result = getMatrixForKind("currently-supported", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for `all`', () => {
const result = getMatrixForKind("all", project);
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for valid `custom`', () => {
const result = getMatrixForKind("custom", project, "magento/project-community-edition:2.3.7-p3");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for the next release when using `nightly`', () => {
const result = getMatrixForKind("nightly", project, "magento/project-community-edition:next");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('returns a matrix for valid multiple `custom`', () => {
const result = getMatrixForKind("custom", project, "magento/project-community-edition:2.3.7-p3,magento/project-community-edition:2.4.0");
expect(result.magento).toBeDefined();
expect(result.include).toBeDefined();
});
it('errors for invalid `custom``', () => {
expect(() => getMatrixForKind("custom", project)).toThrowError();
});
})
@@ -1,24 +1,24 @@
import { getMatrixForVersions } from "./get-matrix-for-versions";
import latestJson from '../kind/latest.json';
import allVersions from '../versions/individual.json';
import nightly from '../kind/nightly.json';
import { amendMatrixForNext } from "../nightly/get-next-version";
import { getIndividualVersionsForProject } from "../versions/get-versions-for-project";
import latestJson from '../kind/special-versions/latest.json';
import nightlyJson from '../kind/special-versions/nightly.json';
import { getDayBefore } from '../nightly/get-day-before';
import { getCurrentlySupportedVersions } from "../kind/get-currently-supported";
import { amendMatrixForNext } from "../nightly/amend-matrix-for-next";
export const getMatrixForKind = (kind: string, project: string, versions = "") => {
export const getMatrixForKind = (kind: string, versions = "") => {
switch(kind){
case 'latest':
return getMatrixForVersions(latestJson);
return getMatrixForVersions(project, latestJson[project]);
case 'currently-supported':
return getMatrixForVersions(getCurrentlySupportedVersions(new Date()));
return getMatrixForVersions(project, getCurrentlySupportedVersions(project, new Date()));
case 'nightly':
return amendMatrixForNext(getMatrixForVersions(nightly), 'https://upstream-mirror.mage-os.org', getDayBefore());
return amendMatrixForNext(getMatrixForVersions(project, nightlyJson[project]), 'https://upstream-nightly.mage-os.org', getDayBefore());
case 'all':
return getMatrixForVersions(Object.keys(allVersions));
return getMatrixForVersions(project, Object.keys(getIndividualVersionsForProject(project)));
case 'custom':
return getMatrixForVersions(versions.split(","))
return getMatrixForVersions(project, versions.split(","))
default:
throw new Error(`Unreachable kind: ${kind} discovered, please report to the maintainers.`);
}
@@ -1,16 +1,17 @@
import { GithubActionsMatrix, MagentoMatrixVersion } from "./matrix-type";
import compositeVersionJson from '../versions/composite.json';
import individualVersionJson from '../versions/individual.json';
const knownVersions : Record<string, MagentoMatrixVersion> = {...individualVersionJson, ...compositeVersionJson };
import { GithubActionsMatrix, PackageMatrixVersion } from "./matrix-type";
import { getIndividualVersionsForProject, getCompositeVersionsForProject } from "../versions/get-versions-for-project";
/**
* Computes the Github Actions Matrix for given versions of Magento
* Computes the GitHub Actions Matrix for given versions of Magento
*/
export const getMatrixForVersions = (versions: string[]): GithubActionsMatrix => {
export const getMatrixForVersions = (project: string, versions: string[]): GithubActionsMatrix => {
const knownVersions : Record<string, PackageMatrixVersion> = {
...getIndividualVersionsForProject(project), ...getCompositeVersionsForProject(project)
}
return versions.reduce((acc, current): GithubActionsMatrix => {
if(knownVersions[current] === undefined){
throw new Error("Unknown version while computing matrix");
if (knownVersions[current] === undefined){
throw new Error(`Unknown "${current}" version while computing matrix`);
}
return {
+3 -2
View File
@@ -1,4 +1,4 @@
export interface MagentoMatrixVersion {
export interface PackageMatrixVersion {
magento: string,
php: string | number,
composer: string | number,
@@ -9,10 +9,11 @@ export interface MagentoMatrixVersion {
varnish: string,
nginx: string,
os: string,
release: string,
eol: string
}
export interface GithubActionsMatrix {
magento: string[],
include: MagentoMatrixVersion[]
include: PackageMatrixVersion[]
}
@@ -0,0 +1,223 @@
import { amendMatrixForNext } from "./amend-matrix-for-next";
describe('amendMatrixForNext', () => {
it('should amend the "next" versions listed in the matrix output for the given repo', () => {
expect(
amendMatrixForNext(
{
include: [
{
"magento": "magento/project-community-edition:next",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:next"]
},
"https://upstream-nightly.mage-os.org",
new Date()
)
).toEqual(
{
include: [
{
"magento": "magento/project-community-edition:@alpha",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:@alpha"]
}
)
});
it('should should do nothing to matrixes that contain no next versions', () => {
expect(
amendMatrixForNext(
{
include: [
{
"magento": "magento/project-community-edition:v2.4.6-p2",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:v2.4.6-p2"]
},
"https://upstream-nightly.mage-os.org",
new Date()
)
).toEqual(
{
include: [
{
"magento": "magento/project-community-edition:v2.4.6-p2",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:v2.4.6-p2"]
}
)
});
it('should only modify next versions', () => {
expect(
amendMatrixForNext(
{
include: [
{
"magento": "magento/project-community-edition:v2.4.6-p2",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
},
{
"magento": "magento/project-community-edition:next",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:v2.4.6-p2", "magento/project-community-edition:next"]
},
"https://upstream-nightly.mage-os.org",
new Date()
)
).toEqual(
{
include: [
{
"magento": "magento/project-community-edition:v2.4.6-p2",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
},
{
"magento": "magento/project-community-edition:@alpha",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["magento/project-community-edition:v2.4.6-p2", "magento/project-community-edition:@alpha"]
}
)
});
it('should amend the "next" versions listed in the matrix output for the given repo, for a different project', () => {
expect(
amendMatrixForNext(
{
include: [
{
"magento": "mage-os/project-community-edition:next",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["mage-os/project-community-edition:next"]
},
"https://upstream-nightly.mage-os.org",
new Date()
)
).toEqual(
{
include: [
{
"magento": "mage-os/project-community-edition:@alpha",
"php": 8.2,
"composer": "2",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-09-15T00:00:00+0000",
"eol": "2026-09-15T00:00:00+0000"
}
],
magento: ["mage-os/project-community-edition:@alpha"]
}
)
});
})
@@ -0,0 +1,23 @@
import { GithubActionsMatrix } from "../matrix/matrix-type";
import { Repository } from "./repository";
import { unifyNextPackageName } from "./unify-next-package-name";
/**
* A placeholder value use to refer to the next version of Magento.
* This value is just a placeholder, there is no "next" version (as of authoring).
*/
export const nextVersionPlaceHolder = "next";
export const amendMatrixForNext = (matrix: GithubActionsMatrix, repository: Repository, date: Date = new Date()): GithubActionsMatrix => {
const nextVersionRegExp = new RegExp(nextVersionPlaceHolder + '$');
matrix.magento = matrix.magento.map((item) => item.match(nextVersionRegExp) ? unifyNextPackageName(item, repository, date) : item);
matrix.include = matrix.include.map((item) => {
return item.magento.match(nextVersionRegExp)
? {
...item,
magento: unifyNextPackageName(item.magento, repository, date),
}
: item;
});
return matrix;
}
@@ -1,12 +1,15 @@
import { getNextVersion } from "./get-next-version"
describe('getNextVersion', () => {
it('should get the next nightly version for Magento Open Source', () => {
expect(getNextVersion('https://upstream-nightly.mage-os.org', new Date('2022-09-29T17:47:00')), ).toEqual('@alpha');
});
it('should get the next nightly version for MageOS', () => {
expect(getNextVersion('https://upstream-mirror.mage-os.org', new Date('2022-09-29T17:47:00')), ).toEqual('@alpha');
it('should get the next nightly version for Mage-OS', () => {
expect(getNextVersion('https://nightly.mage-os.org', new Date('2024-09-29T17:47:00')), ).toEqual('@alpha');
});
it('should handle the first of the month correctly', () => {
expect(getNextVersion('https://upstream-mirror.mage-os.org', new Date('2022-01-01T17:47:00')), ).toEqual('@alpha');
expect(getNextVersion('https://upstream-nightly.mage-os.org', new Date('2022-01-01T17:47:00')), ).toEqual('@alpha');
});
})
@@ -1,44 +1,15 @@
import { GithubActionsMatrix } from "../matrix/matrix-type";
export type Repository = "https://upstream-mirror.mage-os.org" | "https://repo.magento.com";
/**
* A placeholder value use to refer to the next version of Magento.
* This value is just a placeholder, there is no "next" version (as of authoring).
*/
export const nextVersionPlaceHolder = "magento/project-community-edition:next";
import { Repository } from "./repository";
/**
* Get the next version of Magento, as determined by the repository.
*/
export const getNextVersion = (repository: Repository, date: Date) => {
switch(repository){
case "https://upstream-mirror.mage-os.org":
case "https://nightly.mage-os.org":
case "https://upstream-nightly.mage-os.org":
// See: https://github.com/mage-os/generate-mirror-repo-js/blob/bbbdf1708ea0bf8fc845aad8240d00f37632b4a7/src/release-branch-build-tools.js#L71
return "@alpha";
default:
return "";
return "next";
}
}
export const replaceNextPlaceHolderWithVersion = (packageName: string, nextVersion: string) => {
return packageName.replace(/(?!:)next$/, nextVersion);
}
export const computeNextPackage = (packageName: string, repository: Repository, date: Date): string => {
return replaceNextPlaceHolderWithVersion(packageName, getNextVersion(repository, date));
}
export const amendMatrixForNext = (matrix: GithubActionsMatrix, repository: Repository = "https://upstream-mirror.mage-os.org", date: Date = new Date()): GithubActionsMatrix => {
matrix.magento = matrix.magento.map((item) => item === nextVersionPlaceHolder ? computeNextPackage(nextVersionPlaceHolder, repository, date) : item);
matrix.include = matrix.include.map((item) => {
return item.magento === nextVersionPlaceHolder
? {
...item,
magento: computeNextPackage(nextVersionPlaceHolder, repository, date),
}
: item;
});
return matrix;
}
@@ -0,0 +1,9 @@
const KNOWN_REPOSITORIES = {
"https://repo.mage-os.org": true,
"https://nightly.mage-os.org": true,
"https://upstream-mirror.mage-os.org": true,
"https://upstream-nightly.mage-os.org": true,
"https://repo.magento.com": true,
}
export type Repository = keyof typeof KNOWN_REPOSITORIES;
@@ -0,0 +1,32 @@
import { unifyNextPackageName } from "./unify-next-package-name";
describe('unifyNextPackageName', () => {
it('should do nothing to an unknown package', () => {
expect(unifyNextPackageName('test', 'https://repo.mage-os.org', new Date())).toEqual('test');
});
it('should do nothing to a next-available package at a non-next version', () => {
expect(
unifyNextPackageName('magento/product-community-edition:v2.4.5-p1', 'https://repo.mage-os.org', new Date())
)
.toEqual('magento/product-community-edition:v2.4.5-p1');
});
it('should do nothing to a next package at a next version on a repo that doesnt support that version', () => {
expect(
unifyNextPackageName('magento/product-community-edition:next', 'https://repo.mage-os.org', new Date())
).toEqual('magento/product-community-edition:next');
});
it('should convert the next version to the specific format of the repo that supports the next version', () => {
expect(
unifyNextPackageName('magento/product-community-edition:next', 'https://upstream-nightly.mage-os.org', new Date())
).toEqual('magento/product-community-edition:@alpha');
});
it('should convert the next version to the specific format of the repo that supports the next version', () => {
expect(
unifyNextPackageName('mage-os/product-community-edition:next', 'https://nightly.mage-os.org', new Date())
).toEqual('mage-os/product-community-edition:@alpha');
});
});
@@ -0,0 +1,19 @@
import { getNextVersion } from "./get-next-version";
import { Repository } from "./repository";
/**
* Unify the next package name for the "nightly" version of a given repository and package name.
*
* Internally, we call this "next".
* - MageOS calls this "alpha".
* - Adobe calls this "beta".
*
* Someone else may call it something else. This may even differ per package repository
* (Packagist vs. MageOS Mirror vs. Some other mirror).
*
* If the version isn't a "next" version, unifyNextPackageName will ignore it
* and return the original package name.
*/
export const unifyNextPackageName = (packageName: string, repository: Repository, date: Date): string => {
return packageName.replace(/(?!:)next$/, getNextVersion(repository, date));
}
@@ -0,0 +1,9 @@
/**
* Acceptable arguments for version `project`
*/
export const KNOWN_PROJECTS = {
"mage-os": true,
"magento-open-source": true,
}
export type Project = keyof typeof KNOWN_PROJECTS;
@@ -0,0 +1,12 @@
import { validateProject } from "./validate-projects";
describe('validateProject', () => {
it('returns `true` if its a valid project', () => {
expect(validateProject("magento-open-source")).toBe(true);
expect(validateProject("mage-os")).toBe(true);
});
it('throws a helpful exception if it is an invalid project', () => {
expect(() => validateProject(<any>"quark")).toThrowError();
})
})
@@ -0,0 +1,6 @@
import { isKnownProject } from './validations/is-known-project';
import { ProjectValidator } from "./validator";
export const validateProject: ProjectValidator = (project): boolean => {
return isKnownProject(project)
}
@@ -0,0 +1,13 @@
import {isKnownProject} from "./is-known-project";
import {Project} from "../projects";
describe('isKnownProject', () => {
it('returns `true` for known projects', () => {
expect(isKnownProject("mage-os")).toBe(true)
expect(isKnownProject("magento-open-source")).toBe(true)
});
it('throws a message if for unknown projects', () => {
expect(() => isKnownProject(<Project>"bingo")).toThrowError()
});
})
@@ -0,0 +1,11 @@
import { KNOWN_PROJECTS, Project } from '../projects';
export const isKnownProject = (project: Project): boolean => {
if (!(project in KNOWN_PROJECTS)) {
throw new Error(
`Invalid project provided, supported projects are: ${Object.keys(KNOWN_PROJECTS).join(', ')}`
)
}
return true;
}
@@ -0,0 +1,3 @@
import { Project } from "./projects";
export type ProjectValidator = (project: Project) => boolean;
@@ -0,0 +1,24 @@
import { getIndividualVersionsForProject, getCompositeVersionsForProject } from "./get-versions-for-project";
import {Project} from "../project/projects";
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)
})
it('throws error if no individual versions are specified for given project', () => {
expect(() => getIndividualVersionsForProject(<Project>"ahsoka")).toThrowError()
})
})
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)
})
it('throws error if no composite versions are specified for given project', () => {
expect(() => getCompositeVersionsForProject(<Project>"spock")).toThrowError()
})
})
@@ -0,0 +1,34 @@
import { validateProject } from "../project/validate-projects";
import { PackageMatrixVersion } from "../matrix/matrix-type";
const individual = {
'mage-os': require('./mage-os/individual.json'),
'magento-open-source': require('./magento-open-source/individual.json')
}
const composite = {
'mage-os': require('./mage-os/composite.json'),
'magento-open-source': require('./magento-open-source/composite.json')
}
export const getIndividualVersionsForProject = (project: string): Record<string, PackageMatrixVersion> => {
validateProject(<any>project)
if (individual[project] === undefined) {
throw new Error(
`Project "${project}" has no individual version specifications`
)
}
return individual[project]
}
export const getCompositeVersionsForProject = (project: string): Record<string, PackageMatrixVersion> => {
validateProject(<any>project)
if (composite[project] === undefined) {
throw new Error(
`Project "${project}" has no composite version specifications`
)
}
return composite[project]
}
@@ -1,275 +0,0 @@
{
"magento/project-community-edition:2.3.7-p3": {
"magento": "magento/project-community-edition:2.3.7-p3",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-18.04",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.3.7-p4": {
"magento": "magento/project-community-edition:2.3.7-p4",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-18.04",
"eol": "2022-09-30T00:00:00+0000"
},
"magento/project-community-edition:2.4.0": {
"magento": "magento/project-community-edition:2.4.0",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.6.2",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2020-10-15T00:00:00+0000"
},
"magento/project-community-edition:2.4.0-p1": {
"magento": "magento/project-community-edition:2.4.0-p1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.6.2",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.1": {
"magento": "magento/project-community-edition:2.4.1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:8.0.20",
"elasticsearch": "elasticsearch:7.7.1",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2021-02-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.1-p1": {
"magento": "magento/project-community-edition:2.4.1-p1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:8.0.20",
"elasticsearch": "elasticsearch:7.7.1",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.2": {
"magento": "magento/project-community-edition:2.4.2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2021-05-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.2-p1": {
"magento": "magento/project-community-edition:2.4.2-p1",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2021-08-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.2-p2": {
"magento": "magento/project-community-edition:2.4.2-p2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.3": {
"magento": "magento/project-community-edition:2.4.3",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2021-10-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p1": {
"magento": "magento/project-community-edition:2.4.3-p1",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-04-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p2": {
"magento": "magento/project-community-edition:2.4.3-p2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p3": {
"magento": "magento/project-community-edition:2.4.3-p3",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.4": {
"magento": "magento/project-community-edition:2.4.4",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p1": {
"magento": "magento/project-community-edition:2.4.4-p1",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2022-10-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p2": {
"magento": "magento/project-community-edition:2.4.4-p2",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2023-03-14T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p3": {
"magento": "magento/project-community-edition:2.4.4-p3",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2025-04-24T00:00:00+0000"
},
"magento/project-community-edition:2.4.5": {
"magento": "magento/project-community-edition:2.4.5",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p1": {
"magento": "magento/project-community-edition:2.4.5-p1",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2023-03-14T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p2": {
"magento": "magento/project-community-edition:2.4.5-p2",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2025-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.6": {
"magento": "magento/project-community-edition:2.4.6",
"php": 8.1,
"composer": "2.4.4",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"os": "ubuntu-latest",
"eol": "2026-03-14T00:00:00+0000"
}
}
@@ -0,0 +1,30 @@
{
"mage-os/project-community-edition": {
"magento": "mage-os/project-community-edition",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-10T00:00:00+0000",
"eol": "2026-10-10T00:00:00+0000"
},
"mage-os/project-community-edition:next": {
"magento": "mage-os/project-community-edition:next",
"php": 8.3,
"composer": "2",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-10-10T00:00:00+0000",
"eol": "2026-10-10T00:00:00+0000"
}
}
@@ -0,0 +1,100 @@
{
"mage-os/project-community-edition:1.0.0": {
"magento": "mage-os/project-community-edition:1.0.0",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-10T00:00:00+0000",
"eol": "2023-10-11T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.1": {
"magento": "mage-os/project-community-edition:1.0.1",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-11T00:00:00+0000",
"eol": "2024-07-17T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.2": {
"magento": "mage-os/project-community-edition:1.0.2",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-07-18T00:00:00+0000",
"eol": "2024-07-22T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.3": {
"magento": "mage-os/project-community-edition:1.0.3",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-07-23T00:00:00+0000",
"eol": "2024-08-19T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.4": {
"magento": "mage-os/project-community-edition:1.0.4",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-08-20T00:00:00+0000",
"eol": "2024-10-08T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.5": {
"magento": "mage-os/project-community-edition:1.0.5",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-10-09T00:00:00+0000",
"eol": "2025-02-11T00:00:00+0000"
},
"mage-os/project-community-edition:1.0.6": {
"magento": "mage-os/project-community-edition:1.0.6",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2025-02-12T00:00:00+0000",
"eol": "2027-02-14T00:00:00+0000"
}
}
@@ -9,7 +9,8 @@
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-18.04",
"os": "ubuntu-20.04",
"release": "2018-11-28T00:00:00+0000",
"eol": "2022-09-30T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.0 <2.4.1": {
@@ -23,6 +24,7 @@
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2020-07-28T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.1 <2.4.2": {
@@ -36,6 +38,7 @@
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2020-10-15T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.2 <2.4.3": {
@@ -49,6 +52,7 @@
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-02-09T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.3 <2.4.4": {
@@ -62,71 +66,91 @@
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-08-10T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.4 <2.4.5": {
"magento": "magento/project-community-edition:>=2.4.4 <2.4.5",
"php": 8.1,
"composer": 2,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-04-12T00:00:00+0000",
"eol": "2025-04-24T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.5 <2.4.6": {
"magento": "magento/project-community-edition:>=2.4.5 <2.4.6",
"php": 8.1,
"composer": 2,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.18",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-08-08T00:00:00+0000",
"eol": "2025-08-09T00:00:00+0000"
},
"magento/project-community-edition:>=2.4.6 <2.4.7": {
"magento": "magento/project-community-edition:>=2.4.6 <2.4.7",
"php": 8.1,
"composer": "2.4.4",
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-03-14T00:00:00+0000",
"eol": "2026-03-14T00:00:00+0000"
},
"magento/project-community-edition": {
"magento": "magento/project-community-edition",
"php": 8.1,
"composer": "2.4.4",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"magento/project-community-edition:>=2.4.7 <2.4.8": {
"magento": "magento/project-community-edition:>=2.4.7 <2.4.8",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "opensearch:2.12.0",
"rabbitmq": "rabbitmq:3.12-management",
"redis": "redis:7.2",
"varnish": "varnish:7.4",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"eol": "2026-03-14T00:00:00+0000"
"release": "2024-04-09T00:00:00+0000",
"eol": "2027-04-09T00:00:00+0000"
},
"magento/project-community-edition": {
"magento": "magento/project-community-edition:>=2.4.7 <2.4.8",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.12-management",
"redis": "redis:7.2",
"varnish": "varnish:7.4",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-04-09T00:00:00+0000",
"eol": "2027-04-09T00:00:00+0000"
},
"magento/project-community-edition:next": {
"magento": "magento/project-community-edition:next",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.1",
"nginx": "nginx:1.18",
"php": 8.3,
"composer": "2",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"eol": "2026-03-14T00:00:00+0000"
"release": "2015-11-17T00:00:00+0000",
"eol": "2027-04-09T00:00:00+0000"
}
}
@@ -0,0 +1,744 @@
{
"magento/project-community-edition:2.3.7-p3": {
"magento": "magento/project-community-edition:2.3.7-p3",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2022-04-12T00:00:00+0000",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.3.7-p4": {
"magento": "magento/project-community-edition:2.3.7-p4",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2022-08-09T00:00:00+0000",
"eol": "2022-09-30T00:00:00+0000"
},
"magento/project-community-edition:2.4.0": {
"magento": "magento/project-community-edition:2.4.0",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.6.2",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2020-07-28T00:00:00+0000",
"eol": "2020-10-15T00:00:00+0000"
},
"magento/project-community-edition:2.4.0-p1": {
"magento": "magento/project-community-edition:2.4.0-p1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:5.7.30",
"elasticsearch": "elasticsearch:7.6.2",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2020-10-15T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.1": {
"magento": "magento/project-community-edition:2.4.1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:8.0.20",
"elasticsearch": "elasticsearch:7.7.1",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2020-10-15T00:00:00+0000",
"eol": "2021-02-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.1-p1": {
"magento": "magento/project-community-edition:2.4.1-p1",
"php": 7.4,
"composer": 1,
"mysql": "mysql:8.0.20",
"elasticsearch": "elasticsearch:7.7.1",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:5.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-02-09T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.2": {
"magento": "magento/project-community-edition:2.4.2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-02-09T00:00:00+0000",
"eol": "2021-05-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.2-p1": {
"magento": "magento/project-community-edition:2.4.2-p1",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-05-11T00:00:00+0000",
"eol": "2021-08-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.2-p2": {
"magento": "magento/project-community-edition:2.4.2-p2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.9.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-08-10T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.3": {
"magento": "magento/project-community-edition:2.4.3",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-08-10T00:00:00+0000",
"eol": "2021-10-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p1": {
"magento": "magento/project-community-edition:2.4.3-p1",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2021-10-12T00:00:00+0000",
"eol": "2022-04-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p2": {
"magento": "magento/project-community-edition:2.4.3-p2",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2022-04-12T00:00:00+0000",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.3-p3": {
"magento": "magento/project-community-edition:2.4.3-p3",
"php": 7.4,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.8-management",
"redis": "redis:6.0",
"varnish": "varnish:6.0",
"nginx": "nginx:1.18",
"os": "ubuntu-20.04",
"release": "2022-08-09T00:00:00+0000",
"eol": "2022-11-28T00:00:00+0000"
},
"magento/project-community-edition:2.4.4": {
"magento": "magento/project-community-edition:2.4.4",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-04-12T00:00:00+0000",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p1": {
"magento": "magento/project-community-edition:2.4.4-p1",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-08-09T00:00:00+0000",
"eol": "2022-10-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p2": {
"magento": "magento/project-community-edition:2.4.4-p2",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.16.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-10-11T00:00:00+0000",
"eol": "2023-03-14T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p3": {
"magento": "magento/project-community-edition:2.4.4-p3",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-03-14T00:00:00+0000",
"eol": "2023-06-13T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p4": {
"magento": "magento/project-community-edition:2.4.4-p4",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-06-13T00:00:00+0000",
"eol": "2023-08-08T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p5": {
"magento": "magento/project-community-edition:2.4.4-p5",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-08-08T00:00:00+0000",
"eol": "2023-10-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p6": {
"magento": "magento/project-community-edition:2.4.4-p6",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-10T00:00:00+0000",
"eol": "2024-02-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p7": {
"magento": "magento/project-community-edition:2.4.4-p7",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-02-12T00:00:00+0000",
"eol": "2024-04-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p8": {
"magento": "magento/project-community-edition:2.4.4-p8",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-04-09T00:00:00+0000",
"eol": "2024-06-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p9": {
"magento": "magento/project-community-edition:2.4.4-p9",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-06-11T00:00:00+0000",
"eol": "2024-08-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p10": {
"magento": "magento/project-community-edition:2.4.4-p10",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-08-13T00:00:00+0000",
"eol": "2024-10-07T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p11": {
"magento": "magento/project-community-edition:2.4.4-p11",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-10-08T00:00:00+0000",
"eol": "2025-02-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.4-p12": {
"magento": "magento/project-community-edition:2.4.4-p12",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2025-02-11T00:00:00+0000",
"eol": "2025-04-24T00:00:00+0000"
},
"magento/project-community-edition:2.4.5": {
"magento": "magento/project-community-edition:2.4.5",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-08-09T00:00:00+0000",
"eol": "2022-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p1": {
"magento": "magento/project-community-edition:2.4.5-p1",
"php": 8.1,
"composer": 2,
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.0",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2022-10-11T00:00:00+0000",
"eol": "2023-03-14T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p2": {
"magento": "magento/project-community-edition:2.4.5-p2",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-03-14T00:00:00+0000",
"eol": "2023-06-13T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p3": {
"magento": "magento/project-community-edition:2.4.5-p3",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-06-13T00:00:00+0000",
"eol": "2023-08-08T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p4": {
"magento": "magento/project-community-edition:2.4.5-p4",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-08-08T00:00:00+0000",
"eol": "2023-10-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p5": {
"magento": "magento/project-community-edition:2.4.5-p5",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-10T00:00:00+0000",
"eol": "2024-02-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p6": {
"magento": "magento/project-community-edition:2.4.5-p6",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-02-12T00:00:00+0000",
"eol": "2024-04-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p7": {
"magento": "magento/project-community-edition:2.4.5-p7",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-04-09T00:00:00+0000",
"eol": "2024-06-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p8": {
"magento": "magento/project-community-edition:2.4.5-p8",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-06-11T00:00:00+0000",
"eol": "2024-08-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p9": {
"magento": "magento/project-community-edition:2.4.5-p9",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-08-13T00:00:00+0000",
"eol": "2024-10-07T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p10": {
"magento": "magento/project-community-edition:2.4.5-p10",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-10-08T00:00:00+0000",
"eol": "2025-02-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.5-p11": {
"magento": "magento/project-community-edition:2.4.5-p11",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.11-management",
"redis": "redis:6.2",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2025-02-11T00:00:00+0000",
"eol": "2025-08-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.6": {
"magento": "magento/project-community-edition:2.4.6",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:7.17.5",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.1",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-03-14T00:00:00+0000",
"eol": "2023-06-13T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p1": {
"magento": "magento/project-community-edition:2.4.6-p1",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-06-13T00:00:00+0000",
"eol": "2023-08-08T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p2": {
"magento": "magento/project-community-edition:2.4.6-p2",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-08-08T00:00:00+0000",
"eol": "2023-10-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p3": {
"magento": "magento/project-community-edition:2.4.6-p3",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2023-10-10T00:00:00+0000",
"eol": "2024-02-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p4": {
"magento": "magento/project-community-edition:2.4.6-p4",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-02-12T00:00:00+0000",
"eol": "2024-04-09T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p5": {
"magento": "magento/project-community-edition:2.4.6-p5",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-04-09T00:00:00+0000",
"eol": "2024-06-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p6": {
"magento": "magento/project-community-edition:2.4.6-p6",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-06-11T00:00:00+0000",
"eol": "2024-08-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p7": {
"magento": "magento/project-community-edition:2.4.6-p7",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-08-13T00:00:00+0000",
"eol": "2024-10-07T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p8": {
"magento": "magento/project-community-edition:2.4.6-p8",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2024-10-08T00:00:00+0000",
"eol": "2025-02-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.6-p9": {
"magento": "magento/project-community-edition:2.4.6-p9",
"php": 8.1,
"composer": "2.2.21",
"mysql": "mysql:8.0",
"elasticsearch": "elasticsearch:8.5.3",
"rabbitmq": "rabbitmq:3.9-management",
"redis": "redis:7.0",
"varnish": "varnish:7.3",
"nginx": "nginx:1.22",
"os": "ubuntu-latest",
"release": "2025-02-11T00:00:00+0000",
"eol": "2026-03-14T00:00:00+0000"
},
"magento/project-community-edition:2.4.7": {
"magento": "magento/project-community-edition:2.4.7",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-04-09T00:00:00+0000",
"eol": "2024-06-11T00:00:00+0000"
},
"magento/project-community-edition:2.4.7-p1": {
"magento": "magento/project-community-edition:2.4.7-p1",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-06-11T00:00:00+0000",
"eol": "2024-08-12T00:00:00+0000"
},
"magento/project-community-edition:2.4.7-p2": {
"magento": "magento/project-community-edition:2.4.7-p2",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-08-13T00:00:00+0000",
"eol": "2024-10-07T00:00:00+0000"
},
"magento/project-community-edition:2.4.7-p3": {
"magento": "magento/project-community-edition:2.4.7-p3",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2024-10-08T00:00:00+0000",
"eol": "2025-02-10T00:00:00+0000"
},
"magento/project-community-edition:2.4.7-p4": {
"magento": "magento/project-community-edition:2.4.7-p4",
"php": 8.3,
"composer": "2.7.4",
"mysql": "mariadb:10.6",
"elasticsearch": "elasticsearch:8.11.4",
"rabbitmq": "rabbitmq:3.13-management",
"redis": "redis:7.2",
"varnish": "varnish:7.5",
"nginx": "nginx:1.26",
"os": "ubuntu-latest",
"release": "2025-02-11T00:00:00+0000",
"eol": "2027-04-09T00:00:00+0000"
}
}