diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 547be89..015baab 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -64,7 +64,7 @@ jobs: matrix: ${{ fromJSON(inputs.matrix) }} services: elasticsearch: - image: ${{ matrix.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. @@ -83,6 +83,24 @@ jobs: ports: - 9200:9200 + opensearch: + image: ${{ matrix.opensearch || '' }} + 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 + DISABLE_INSTALL_DEMO_CONFIG: true + DISABLE_SECURITY_PLUGIN: true + + options: >- + --health-cmd "curl http://localhost:9200/_cluster/health" + --health-interval 10s + --health-timeout 5s + --health-retries 10 + ports: + - 9200:9200 + mysql: image: ${{ matrix.mysql }} env: @@ -110,6 +128,10 @@ jobs: tools: composer:v${{ matrix.composer }} coverage: none + - name: Allow SQL triggers + run: | + mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -u root -prootpassword -e "set global log_bin_trust_function_creators=1;" + - run: composer create-project --repository-url="${{ inputs.magento_repository }}" "${{ matrix.magento }}" ${{ inputs.magento_directory }} --no-install shell: bash env: diff --git a/supported-version/dist/index.js b/supported-version/dist/index.js index 7a42a8c..f6a7d1c 100644 --- a/supported-version/dist/index.js +++ b/supported-version/dist/index.js @@ -58,7 +58,7 @@ ${e.format(t)} Error Message: ${n.message}`)})).result)===null||t===void 0?void 0:t.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return sl(this,void 0,void 0,function*(){try{let t=A.getIDTokenUrl();if(e){let s=encodeURIComponent(e);t=`${t}&audience=${s}`}(0,il.debug)(`ID token url is ${t}`);let r=yield A.getCall(t);return(0,il.setSecret)(r),r}catch(t){throw new Error(`Error message: ${t.message}`)}})}};kr.OidcClient=Tg});var Hg=I(GA=>{"use strict";var Gg=GA&&GA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(GA,"__esModule",{value:!0});GA.summary=GA.markdownSummary=GA.SUMMARY_DOCS_URL=GA.SUMMARY_ENV_VAR=void 0;var Gk=require("os"),qg=require("fs"),{access:qk,appendFile:vk,writeFile:Hk}=qg.promises;GA.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";GA.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";var vg=class{constructor(){this._buffer=""}filePath(){return Gg(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[GA.SUMMARY_ENV_VAR];if(!e)throw new Error(`Unable to find environment variable for $${GA.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield qk(e,qg.constants.R_OK|qg.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,t,r={}){let s=Object.entries(r).map(([i,n])=>` ${i}="${n}"`).join("");return t?`<${e}${s}>${t}`:`<${e}${s}>`}write(e){return Gg(this,void 0,void 0,function*(){let t=!!e?.overwrite,r=yield this.filePath();return yield(t?Hk:vk)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return Gg(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,t=!1){return this._buffer+=e,t?this.addEOL():this}addEOL(){return this.addRaw(Gk.EOL)}addCodeBlock(e,t){let r=Object.assign({},t&&{lang:t}),s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,t=!1){let r=t?"ol":"ul",s=e.map(n=>this.wrap("li",n)).join(""),i=this.wrap(r,s);return this.addRaw(i).addEOL()}addTable(e){let t=e.map(s=>{let i=s.map(n=>{if(typeof n=="string")return this.wrap("td",n);let{header:o,data:a,colspan:g,rowspan:E}=n,Q=o?"th":"td",c=Object.assign(Object.assign({},g&&{colspan:g}),E&&{rowspan:E});return this.wrap(Q,a,c)}).join("");return this.wrap("tr",i)}).join(""),r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){let r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){let{width:s,height:i}=r||{},n=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),o=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(o).addEOL()}addHeading(e,t){let r=`h${t}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){let r=Object.assign({},t&&{cite:t}),s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,t){let r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}},ol=new vg;GA.markdownSummary=ol;GA.summary=ol});var al=I(qA=>{"use strict";var Vk=qA&&qA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),Ok=qA&&qA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Wk=qA&&qA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&Vk(e,A,t);return Ok(e,A),e};Object.defineProperty(qA,"__esModule",{value:!0});qA.toPlatformPath=qA.toWin32Path=qA.toPosixPath=void 0;var Pk=Wk(require("path"));function _k(A){return A.replace(/[\\]/g,"/")}qA.toPosixPath=_k;function jk(A){return A.replace(/[/]/g,"\\")}qA.toWin32Path=jk;function Zk(A){return A.replace(/[/\\]/g,Pk.sep)}qA.toPlatformPath=Zk});var Og=I(m=>{"use strict";var Xk=m&&m.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),Kk=m&&m.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),El=m&&m.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&Xk(e,A,t);return Kk(e,A),e},Vg=m&&m.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},vA;Object.defineProperty(m,"__esModule",{value:!0});m.getCmdPath=m.tryGetExecutablePath=m.isRooted=m.isDirectory=m.exists=m.READONLY=m.UV_FS_O_EXLOCK=m.IS_WINDOWS=m.unlink=m.symlink=m.stat=m.rmdir=m.rm=m.rename=m.readlink=m.readdir=m.open=m.mkdir=m.lstat=m.copyFile=m.chmod=void 0;var Ql=El(require("fs")),dn=El(require("path"));vA=Ql.promises,m.chmod=vA.chmod,m.copyFile=vA.copyFile,m.lstat=vA.lstat,m.mkdir=vA.mkdir,m.open=vA.open,m.readdir=vA.readdir,m.readlink=vA.readlink,m.rename=vA.rename,m.rm=vA.rm,m.rmdir=vA.rmdir,m.stat=vA.stat,m.symlink=vA.symlink,m.unlink=vA.unlink;m.IS_WINDOWS=process.platform==="win32";m.UV_FS_O_EXLOCK=268435456;m.READONLY=Ql.constants.O_RDONLY;function zk(A){return Vg(this,void 0,void 0,function*(){try{yield m.stat(A)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}m.exists=zk;function $k(A,e=!1){return Vg(this,void 0,void 0,function*(){return(e?yield m.stat(A):yield m.lstat(A)).isDirectory()})}m.isDirectory=$k;function AF(A){if(A=tF(A),!A)throw new Error('isRooted() parameter "p" cannot be empty');return m.IS_WINDOWS?A.startsWith("\\")||/^[A-Z]:/i.test(A):A.startsWith("/")}m.isRooted=AF;function eF(A,e){return Vg(this,void 0,void 0,function*(){let t;try{t=yield m.stat(A)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${s}`)}if(t&&t.isFile()){if(m.IS_WINDOWS){let s=dn.extname(A).toUpperCase();if(e.some(i=>i.toUpperCase()===s))return A}else if(gl(t))return A}let r=A;for(let s of e){A=r+s,t=void 0;try{t=yield m.stat(A)}catch(i){i.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${i}`)}if(t&&t.isFile()){if(m.IS_WINDOWS){try{let i=dn.dirname(A),n=dn.basename(A).toUpperCase();for(let o of yield m.readdir(i))if(n===o.toUpperCase()){A=dn.join(i,o);break}}catch(i){console.log(`Unexpected error attempting to determine the actual case of the file '${A}': ${i}`)}return A}else if(gl(t))return A}}return""})}m.tryGetExecutablePath=eF;function tF(A){return A=A||"",m.IS_WINDOWS?(A=A.replace(/\//g,"\\"),A.replace(/\\\\+/g,"\\")):A.replace(/\/\/+/g,"/")}function gl(A){return(A.mode&1)>0||(A.mode&8)>0&&A.gid===process.getgid()||(A.mode&64)>0&&A.uid===process.getuid()}function rF(){var A;return(A=process.env.COMSPEC)!==null&&A!==void 0?A:"cmd.exe"}m.getCmdPath=rF});var ul=I(sA=>{"use strict";var sF=sA&&sA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),iF=sA&&sA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),cl=sA&&sA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&sF(e,A,t);return iF(e,A),e},ct=sA&&sA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(sA,"__esModule",{value:!0});sA.findInPath=sA.which=sA.mkdirP=sA.rmRF=sA.mv=sA.cp=void 0;var nF=require("assert"),Me=cl(require("path")),H=cl(Og());function oF(A,e,t={}){return ct(this,void 0,void 0,function*(){let{force:r,recursive:s,copySourceDirectory:i}=gF(t),n=(yield H.exists(e))?yield H.stat(e):null;if(n&&n.isFile()&&!r)return;let o=n&&n.isDirectory()&&i?Me.join(e,Me.basename(A)):e;if(!(yield H.exists(A)))throw new Error(`no such file or directory: ${A}`);if((yield H.stat(A)).isDirectory())if(s)yield hl(A,o,0,r);else throw new Error(`Failed to copy. ${A} is a directory, but tried to copy without recursive flag.`);else{if(Me.relative(A,o)==="")throw new Error(`'${o}' and '${A}' are the same file`);yield ll(A,o,r)}})}sA.cp=oF;function aF(A,e,t={}){return ct(this,void 0,void 0,function*(){if(yield H.exists(e)){let r=!0;if((yield H.isDirectory(e))&&(e=Me.join(e,Me.basename(A)),r=yield H.exists(e)),r)if(t.force==null||t.force)yield Bl(e);else throw new Error("Destination already exists")}yield Wg(Me.dirname(e)),yield H.rename(A,e)})}sA.mv=aF;function Bl(A){return ct(this,void 0,void 0,function*(){if(H.IS_WINDOWS&&/[*"<>|]/.test(A))throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');try{yield H.rm(A,{force:!0,maxRetries:3,recursive:!0,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}sA.rmRF=Bl;function Wg(A){return ct(this,void 0,void 0,function*(){nF.ok(A,"a path argument must be provided"),yield H.mkdir(A,{recursive:!0})})}sA.mkdirP=Wg;function Cl(A,e){return ct(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");if(e){let r=yield Cl(A,!1);if(!r)throw H.IS_WINDOWS?new Error(`Unable to locate executable file: ${A}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`):new Error(`Unable to locate executable file: ${A}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);return r}let t=yield Il(A);return t&&t.length>0?t[0]:""})}sA.which=Cl;function Il(A){return ct(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");let e=[];if(H.IS_WINDOWS&&process.env.PATHEXT)for(let s of process.env.PATHEXT.split(Me.delimiter))s&&e.push(s);if(H.isRooted(A)){let s=yield H.tryGetExecutablePath(A,e);return s?[s]:[]}if(A.includes(Me.sep))return[];let t=[];if(process.env.PATH)for(let s of process.env.PATH.split(Me.delimiter))s&&t.push(s);let r=[];for(let s of t){let i=yield H.tryGetExecutablePath(Me.join(s,A),e);i&&r.push(i)}return r})}sA.findInPath=Il;function gF(A){let e=A.force==null?!0:A.force,t=!!A.recursive,r=A.copySourceDirectory==null?!0:!!A.copySourceDirectory;return{force:e,recursive:t,copySourceDirectory:r}}function hl(A,e,t,r){return ct(this,void 0,void 0,function*(){if(t>=255)return;t++,yield Wg(e);let s=yield H.readdir(A);for(let i of s){let n=`${A}/${i}`,o=`${e}/${i}`;(yield H.lstat(n)).isDirectory()?yield hl(n,o,t,r):yield ll(n,o,r)}yield H.chmod(e,(yield H.stat(A)).mode)})}function ll(A,e,t){return ct(this,void 0,void 0,function*(){if((yield H.lstat(A)).isSymbolicLink()){try{yield H.lstat(e),yield H.unlink(e)}catch(s){s.code==="EPERM"&&(yield H.chmod(e,"0666"),yield H.unlink(e))}let r=yield H.readlink(A);yield H.symlink(r,e,H.IS_WINDOWS?"junction":null)}else(!(yield H.exists(e))||t)&&(yield H.copyFile(A,e))})}});var pl=I(HA=>{"use strict";var EF=HA&&HA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),QF=HA&&HA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Fr=HA&&HA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&EF(e,A,t);return QF(e,A),e},dl=HA&&HA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(HA,"__esModule",{value:!0});HA.argStringToArray=HA.ToolRunner=void 0;var fn=Fr(require("os")),yl=Fr(require("events")),cF=Fr(require("child_process")),BF=Fr(require("path")),CF=Fr(ul()),fl=Fr(Og()),IF=require("timers"),yn=process.platform==="win32",Pg=class extends yl.EventEmitter{constructor(e,t,r){if(super(),!e)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=e,this.args=t||[],this.options=r||{}}_debug(e){this.options.listeners&&this.options.listeners.debug&&this.options.listeners.debug(e)}_getCommandString(e,t){let r=this._getSpawnFileName(),s=this._getSpawnArgs(e),i=t?"":"[command]";if(yn)if(this._isCmdFile()){i+=r;for(let n of s)i+=` ${n}`}else if(e.windowsVerbatimArguments){i+=`"${r}"`;for(let n of s)i+=` ${n}`}else{i+=this._windowsQuoteCmdArg(r);for(let n of s)i+=` ${this._windowsQuoteCmdArg(n)}`}else{i+=r;for(let n of s)i+=` ${n}`}return i}_processLineBuffer(e,t,r){try{let s=t+e.toString(),i=s.indexOf(fn.EOL);for(;i>-1;){let n=s.substring(0,i);r(n),s=s.substring(i+fn.EOL.length),i=s.indexOf(fn.EOL)}return s}catch(s){return this._debug(`error processing line. Failed with error ${s}`),""}}_getSpawnFileName(){return yn&&this._isCmdFile()?process.env.COMSPEC||"cmd.exe":this.toolPath}_getSpawnArgs(e){if(yn&&this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let r of this.args)t+=" ",t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r);return t+='"',[t]}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){let e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile())return this._uvQuoteCmdArg(e);if(!e)return'""';let t=[" "," ","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],r=!1;for(let n of e)if(t.some(o=>o===n)){r=!0;break}if(!r)return e;let s='"',i=!0;for(let n=e.length;n>0;n--)s+=e[n-1],i&&e[n-1]==="\\"?s+="\\":e[n-1]==='"'?(i=!0,s+='"'):i=!1;return s+='"',s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e)return'""';if(!e.includes(" ")&&!e.includes(" ")&&!e.includes('"'))return e;if(!e.includes('"')&&!e.includes("\\"))return`"${e}"`;let t='"',r=!0;for(let s=e.length;s>0;s--)t+=e[s-1],r&&e[s-1]==="\\"?t+="\\":e[s-1]==='"'?(r=!0,t+="\\"):r=!1;return t+='"',t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};let t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||!1,windowsVerbatimArguments:e.windowsVerbatimArguments||!1,failOnStdErr:e.failOnStdErr||!1,ignoreReturnCode:e.ignoreReturnCode||!1,delay:e.delay||1e4};return t.outStream=e.outStream||process.stdout,t.errStream=e.errStream||process.stderr,t}_getSpawnOptions(e,t){e=e||{};let r={};return r.cwd=e.cwd,r.env=e.env,r.windowsVerbatimArguments=e.windowsVerbatimArguments||this._isCmdFile(),e.windowsVerbatimArguments&&(r.argv0=`"${t}"`),r}exec(){return dl(this,void 0,void 0,function*(){return!fl.isRooted(this.toolPath)&&(this.toolPath.includes("/")||yn&&this.toolPath.includes("\\"))&&(this.toolPath=BF.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)),this.toolPath=yield CF.which(this.toolPath,!0),new Promise((e,t)=>dl(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let g of this.args)this._debug(` ${g}`);let r=this._cloneExecOptions(this.options);!r.silent&&r.outStream&&r.outStream.write(this._getCommandString(r)+fn.EOL);let s=new _g(r,this.toolPath);if(s.on("debug",g=>{this._debug(g)}),this.options.cwd&&!(yield fl.exists(this.options.cwd)))return t(new Error(`The cwd: ${this.options.cwd} does not exist!`));let i=this._getSpawnFileName(),n=cF.spawn(i,this._getSpawnArgs(r),this._getSpawnOptions(this.options,i)),o="";n.stdout&&n.stdout.on("data",g=>{this.options.listeners&&this.options.listeners.stdout&&this.options.listeners.stdout(g),!r.silent&&r.outStream&&r.outStream.write(g),o=this._processLineBuffer(g,o,E=>{this.options.listeners&&this.options.listeners.stdline&&this.options.listeners.stdline(E)})});let a="";if(n.stderr&&n.stderr.on("data",g=>{s.processStderr=!0,this.options.listeners&&this.options.listeners.stderr&&this.options.listeners.stderr(g),!r.silent&&r.errStream&&r.outStream&&(r.failOnStdErr?r.errStream:r.outStream).write(g),a=this._processLineBuffer(g,a,E=>{this.options.listeners&&this.options.listeners.errline&&this.options.listeners.errline(E)})}),n.on("error",g=>{s.processError=g.message,s.processExited=!0,s.processClosed=!0,s.CheckComplete()}),n.on("exit",g=>{s.processExitCode=g,s.processExited=!0,this._debug(`Exit code ${g} received from tool '${this.toolPath}'`),s.CheckComplete()}),n.on("close",g=>{s.processExitCode=g,s.processExited=!0,s.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),s.CheckComplete()}),s.on("done",(g,E)=>{o.length>0&&this.emit("stdline",o),a.length>0&&this.emit("errline",a),n.removeAllListeners(),g?t(g):e(E)}),this.options.input){if(!n.stdin)throw new Error("child process missing stdin");n.stdin.end(this.options.input)}}))})}};HA.ToolRunner=Pg;function hF(A){let e=[],t=!1,r=!1,s="";function i(n){r&&n!=='"'&&(s+="\\"),s+=n,r=!1}for(let n=0;n0&&(e.push(s),s="");continue}i(o)}return s.length>0&&e.push(s.trim()),e}HA.argStringToArray=hF;var _g=class A extends yl.EventEmitter{constructor(e,t){if(super(),this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!t)throw new Error("toolPath must not be empty");this.options=e,this.toolPath=t,e.delay&&(this.delay=e.delay)}CheckComplete(){this.done||(this.processClosed?this._setResult():this.processExited&&(this.timeout=IF.setTimeout(A.HandleTimeout,this.delay,this)))}_debug(e){this.emit("debug",e)}_setResult(){let e;this.processExited&&(this.processError?e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`):this.processExitCode!==0&&!this.options.ignoreReturnCode?e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`):this.processStderr&&this.options.failOnStdErr&&(e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`))),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.done=!0,this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(!e.done){if(!e.processClosed&&e.processExited){let t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}}});var bl=I(VA=>{"use strict";var lF=VA&&VA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),uF=VA&&VA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),dF=VA&&VA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&lF(e,A,t);return uF(e,A),e},Dl=VA&&VA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(VA,"__esModule",{value:!0});VA.getExecOutput=VA.exec=void 0;var ml=require("string_decoder"),wl=dF(pl());function Rl(A,e,t){return Dl(this,void 0,void 0,function*(){let r=wl.argStringToArray(A);if(r.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let s=r[0];return e=r.slice(1).concat(e||[]),new wl.ToolRunner(s,e,t).exec()})}VA.exec=Rl;function fF(A,e,t){var r,s;return Dl(this,void 0,void 0,function*(){let i="",n="",o=new ml.StringDecoder("utf8"),a=new ml.StringDecoder("utf8"),g=(r=t?.listeners)===null||r===void 0?void 0:r.stdout,E=(s=t?.listeners)===null||s===void 0?void 0:s.stderr,Q=u=>{n+=a.write(u),E&&E(u)},c=u=>{i+=o.write(u),g&&g(u)},C=Object.assign(Object.assign({},t?.listeners),{stdout:c,stderr:Q}),B=yield Rl(A,e,Object.assign(Object.assign({},t),{listeners:C}));return i+=o.end(),n+=a.end(),{exitCode:B,stdout:i,stderr:n}})}VA.getExecOutput=fF});var Fl=I(J=>{"use strict";var yF=J&&J.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),pF=J&&J.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),mF=J&&J.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&yF(e,A,t);return pF(e,A),e},mn=J&&J.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},wF=J&&J.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(J,"__esModule",{value:!0});J.getDetails=J.isLinux=J.isMacOS=J.isWindows=J.arch=J.platform=void 0;var kl=wF(require("os")),pn=mF(bl()),DF=()=>mn(void 0,void 0,void 0,function*(){let{stdout:A}=yield pn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',void 0,{silent:!0}),{stdout:e}=yield pn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',void 0,{silent:!0});return{name:e.trim(),version:A.trim()}}),RF=()=>mn(void 0,void 0,void 0,function*(){var A,e,t,r;let{stdout:s}=yield pn.getExecOutput("sw_vers",void 0,{silent:!0}),i=(e=(A=s.match(/ProductVersion:\s*(.+)/))===null||A===void 0?void 0:A[1])!==null&&e!==void 0?e:"";return{name:(r=(t=s.match(/ProductName:\s*(.+)/))===null||t===void 0?void 0:t[1])!==null&&r!==void 0?r:"",version:i}}),bF=()=>mn(void 0,void 0,void 0,function*(){let{stdout:A}=yield pn.getExecOutput("lsb_release",["-i","-r","-s"],{silent:!0}),[e,t]=A.trim().split(` `);return{name:e,version:t}});J.platform=kl.default.platform();J.arch=kl.default.arch();J.isWindows=J.platform==="win32";J.isMacOS=J.platform==="darwin";J.isLinux=J.platform==="linux";function kF(){return mn(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield J.isWindows?DF():J.isMacOS?RF():bF()),{platform:J.platform,arch:J.arch,isWindows:J.isWindows,isMacOS:J.isMacOS,isLinux:J.isLinux})})}J.getDetails=kF});var Jg=I(p=>{"use strict";var FF=p&&p.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),NF=p&&p.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Zg=p&&p.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&FF(e,A,t);return NF(e,A),e},Nl=p&&p.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(E){try{g(r.next(E))}catch(Q){n(Q)}}function a(E){try{g(r.throw(E))}catch(Q){n(Q)}}function g(E){E.done?i(E.value):s(E.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(p,"__esModule",{value:!0});p.platform=p.toPlatformPath=p.toWin32Path=p.toPosixPath=p.markdownSummary=p.summary=p.getIDToken=p.getState=p.saveState=p.group=p.endGroup=p.startGroup=p.info=p.notice=p.warning=p.error=p.debug=p.isDebug=p.setFailed=p.setCommandEcho=p.setOutput=p.getBooleanInput=p.getMultilineInput=p.getInput=p.addPath=p.setSecret=p.exportVariable=p.ExitCode=void 0;var Be=iE(),Mt=aE(),Nr=ws(),Sl=Zg(require("os")),SF=Zg(require("path")),UF=nl(),jg;(function(A){A[A.Success=0]="Success",A[A.Failure=1]="Failure"})(jg||(p.ExitCode=jg={}));function LF(A,e){let t=(0,Nr.toCommandValue)(e);if(process.env[A]=t,process.env.GITHUB_ENV||"")return(0,Mt.issueFileCommand)("ENV",(0,Mt.prepareKeyValueMessage)(A,e));(0,Be.issueCommand)("set-env",{name:A},t)}p.exportVariable=LF;function MF(A){(0,Be.issueCommand)("add-mask",{},A)}p.setSecret=MF;function xF(A){process.env.GITHUB_PATH||""?(0,Mt.issueFileCommand)("PATH",A):(0,Be.issueCommand)("add-path",{},A),process.env.PATH=`${A}${SF.delimiter}${process.env.PATH}`}p.addPath=xF;function Xg(A,e){let t=process.env[`INPUT_${A.replace(/ /g,"_").toUpperCase()}`]||"";if(e&&e.required&&!t)throw new Error(`Input required and not supplied: ${A}`);return e&&e.trimWhitespace===!1?t:t.trim()}p.getInput=Xg;function YF(A,e){let t=Xg(A,e).split(` `).filter(r=>r!=="");return e&&e.trimWhitespace===!1?t:t.map(r=>r.trim())}p.getMultilineInput=YF;function TF(A,e){let t=["true","True","TRUE"],r=["false","False","FALSE"],s=Xg(A,e);if(t.includes(s))return!0;if(r.includes(s))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${A} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}p.getBooleanInput=TF;function JF(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Mt.issueFileCommand)("OUTPUT",(0,Mt.prepareKeyValueMessage)(A,e));process.stdout.write(Sl.EOL),(0,Be.issueCommand)("set-output",{name:A},(0,Nr.toCommandValue)(e))}p.setOutput=JF;function GF(A){(0,Be.issue)("echo",A?"on":"off")}p.setCommandEcho=GF;function qF(A){process.exitCode=jg.Failure,Ul(A)}p.setFailed=qF;function vF(){return process.env.RUNNER_DEBUG==="1"}p.isDebug=vF;function HF(A){(0,Be.issueCommand)("debug",{},A)}p.debug=HF;function Ul(A,e={}){(0,Be.issueCommand)("error",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.error=Ul;function VF(A,e={}){(0,Be.issueCommand)("warning",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.warning=VF;function OF(A,e={}){(0,Be.issueCommand)("notice",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.notice=OF;function WF(A){process.stdout.write(A+Sl.EOL)}p.info=WF;function Ll(A){(0,Be.issue)("group",A)}p.startGroup=Ll;function Ml(){(0,Be.issue)("endgroup")}p.endGroup=Ml;function PF(A,e){return Nl(this,void 0,void 0,function*(){Ll(A);let t;try{t=yield e()}finally{Ml()}return t})}p.group=PF;function _F(A,e){if(process.env.GITHUB_STATE||"")return(0,Mt.issueFileCommand)("STATE",(0,Mt.prepareKeyValueMessage)(A,e));(0,Be.issueCommand)("save-state",{name:A},(0,Nr.toCommandValue)(e))}p.saveState=_F;function jF(A){return process.env[`STATE_${A}`]||""}p.getState=jF;function ZF(A){return Nl(this,void 0,void 0,function*(){return yield UF.OidcClient.getIDToken(A)})}p.getIDToken=ZF;var XF=Hg();Object.defineProperty(p,"summary",{enumerable:!0,get:function(){return XF.summary}});var KF=Hg();Object.defineProperty(p,"markdownSummary",{enumerable:!0,get:function(){return KF.markdownSummary}});var Kg=al();Object.defineProperty(p,"toPosixPath",{enumerable:!0,get:function(){return Kg.toPosixPath}});Object.defineProperty(p,"toWin32Path",{enumerable:!0,get:function(){return Kg.toWin32Path}});Object.defineProperty(p,"toPlatformPath",{enumerable:!0,get:function(){return Kg.toPlatformPath}});p.platform=Zg(Fl())});var Gl=I((S2,$F)=>{$F.exports={"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:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"}}});var ql=I((U2,AN)=>{AN.exports={"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-07T23:59:59+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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:"2025-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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:"2025-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var vl=I((L2,eN)=>{eN.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"}}});var Hl=I((M2,tN)=>{tN.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",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:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-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.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-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.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"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.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var nN={};ou(nN,{run:()=>Au});module.exports=gu(nN);var Xe=au(Jg());var xl=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var zg={"currently-supported":!0,latest:!0,custom:!0,nightly:!0,recent:!0,all:!0};var Yl=A=>{if(!(A in zg))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(zg).join(", ")}`);return!0};var Tl=(A,e=null)=>zF.reduce((t,r)=>r(A,e),!0),zF=[Yl,xl];var $g={"mage-os":!0,"magento-open-source":!0};var Jl=A=>{if(!(A in $g))throw new Error(`Invalid project provided, supported projects are: ${Object.keys($g).join(", ")}`);return!0};var fs=A=>Jl(A);var Vl={"mage-os":Gl(),"magento-open-source":ql()},Ol={"mage-os":vl(),"magento-open-source":Hl()},Bt=A=>{if(fs(A),Vl[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return Vl[A]},Wl=A=>{if(fs(A),Ol[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Ol[A]};var xt=(A,e)=>{let t={...Bt(A),...Wl(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,t[s]]}},{magento:[],include:[]})};var Pl={"mage-os":["mage-os/project-community-edition"],"magento-open-source":["magento/project-community-edition"]};var _l={"mage-os":["mage-os/project-community-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var jl=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var Zl=(A,e)=>{let t=Bt(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Xl=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var AE=(A,e,t)=>A.replace(/(?!:)next$/,Xl(e,t));var iN="next",Kl=(A,e,t=new Date)=>{let r=new RegExp(iN+"$");return A.magento=A.magento.map(s=>s.match(r)?AE(s,e,t):s),A.include=A.include.map(s=>s.magento.match(r)?{...s,magento:AE(s.magento,e,t)}:s),A};var zl=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=Bt(A);return Object.entries(a).filter(([g,E])=>{let Q=new Date(E.release);Q.setSeconds(Q.getSeconds()+1);let c=new Date(E.release);return c.setFullYear(c.getFullYear()+i),c.setMonth(c.getMonth()+n),c.setDate(c.getDate()+o),e>=Q&&e<=c}).map(([g,E])=>g)};var $l=(A,e,t="",r="2y")=>{switch(A){case"latest":return xt(e,Pl[e]);case"currently-supported":return xt(e,Zl(e,new Date));case"nightly":return Kl(xt(e,_l[e]),"https://upstream-nightly.mage-os.org",jl());case"all":return xt(e,Object.keys(Bt(e)));case"custom":return xt(e,t.split(","));case"recent":return xt(e,zl(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};async function Au(){try{let A=Xe.getInput("kind"),e=Xe.getInput("custom_versions"),t=Xe.getInput("project"),r=Xe.getInput("recent_time_frame");fs(t),Tl(A,e?e.split(","):void 0),Xe.setOutput("matrix",$l(A,t,e,r))}catch(A){Xe.setFailed(A.message)}}Au();0&&(module.exports={run}); +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}p.getBooleanInput=TF;function JF(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Mt.issueFileCommand)("OUTPUT",(0,Mt.prepareKeyValueMessage)(A,e));process.stdout.write(Sl.EOL),(0,Be.issueCommand)("set-output",{name:A},(0,Nr.toCommandValue)(e))}p.setOutput=JF;function GF(A){(0,Be.issue)("echo",A?"on":"off")}p.setCommandEcho=GF;function qF(A){process.exitCode=jg.Failure,Ul(A)}p.setFailed=qF;function vF(){return process.env.RUNNER_DEBUG==="1"}p.isDebug=vF;function HF(A){(0,Be.issueCommand)("debug",{},A)}p.debug=HF;function Ul(A,e={}){(0,Be.issueCommand)("error",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.error=Ul;function VF(A,e={}){(0,Be.issueCommand)("warning",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.warning=VF;function OF(A,e={}){(0,Be.issueCommand)("notice",(0,Nr.toCommandProperties)(e),A instanceof Error?A.toString():A)}p.notice=OF;function WF(A){process.stdout.write(A+Sl.EOL)}p.info=WF;function Ll(A){(0,Be.issue)("group",A)}p.startGroup=Ll;function Ml(){(0,Be.issue)("endgroup")}p.endGroup=Ml;function PF(A,e){return Nl(this,void 0,void 0,function*(){Ll(A);let t;try{t=yield e()}finally{Ml()}return t})}p.group=PF;function _F(A,e){if(process.env.GITHUB_STATE||"")return(0,Mt.issueFileCommand)("STATE",(0,Mt.prepareKeyValueMessage)(A,e));(0,Be.issueCommand)("save-state",{name:A},(0,Nr.toCommandValue)(e))}p.saveState=_F;function jF(A){return process.env[`STATE_${A}`]||""}p.getState=jF;function ZF(A){return Nl(this,void 0,void 0,function*(){return yield UF.OidcClient.getIDToken(A)})}p.getIDToken=ZF;var XF=Hg();Object.defineProperty(p,"summary",{enumerable:!0,get:function(){return XF.summary}});var KF=Hg();Object.defineProperty(p,"markdownSummary",{enumerable:!0,get:function(){return KF.markdownSummary}});var Kg=al();Object.defineProperty(p,"toPosixPath",{enumerable:!0,get:function(){return Kg.toPosixPath}});Object.defineProperty(p,"toWin32Path",{enumerable:!0,get:function(){return Kg.toWin32Path}});Object.defineProperty(p,"toPlatformPath",{enumerable:!0,get:function(){return Kg.toPlatformPath}});p.platform=Zg(Fl())});var Gl=I((S2,$F)=>{$F.exports={"mage-os/project-community-edition:1.0.0":{magento:"mage-os/project-community-edition:1.0.0",upstream:"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:"2023-10-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.1":{magento:"mage-os/project-community-edition:1.0.1",upstream:"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-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",upstream:"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-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",upstream:"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-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",upstream:"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-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",upstream:"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-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",upstream:"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-12T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",upstream:"2.4.8-p1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"}}});var ql=I((U2,AN)=>{AN.exports={"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-07T23:59:59+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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:"2025-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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:"2025-04-07T23:59:59+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var vl=I((L2,eN)=>{eN.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"},"mage-os/project-community-edition:>=1.0 <1.1":{magento:"mage-os/project-community-edition:>=1.0 <1.1",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:"2023-10-10T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2028-06-18T00:00:00+0000"}}});var Hl=I((M2,tN)=>{tN.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",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:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-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:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-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.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00: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.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-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.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"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.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",valkey:"valkey:8.0",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var nN={};ou(nN,{run:()=>Au});module.exports=gu(nN);var Xe=au(Jg());var xl=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var zg={"currently-supported":!0,latest:!0,custom:!0,nightly:!0,recent:!0,all:!0};var Yl=A=>{if(!(A in zg))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(zg).join(", ")}`);return!0};var Tl=(A,e=null)=>zF.reduce((t,r)=>r(A,e),!0),zF=[Yl,xl];var $g={"mage-os":!0,"magento-open-source":!0};var Jl=A=>{if(!(A in $g))throw new Error(`Invalid project provided, supported projects are: ${Object.keys($g).join(", ")}`);return!0};var fs=A=>Jl(A);var Vl={"mage-os":Gl(),"magento-open-source":ql()},Ol={"mage-os":vl(),"magento-open-source":Hl()},Bt=A=>{if(fs(A),Vl[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return Vl[A]},Wl=A=>{if(fs(A),Ol[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Ol[A]};var xt=(A,e)=>{let t={...Bt(A),...Wl(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,t[s]]}},{magento:[],include:[]})};var Pl={"mage-os":["mage-os/project-community-edition"],"magento-open-source":["magento/project-community-edition"]};var _l={"mage-os":["mage-os/project-community-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var jl=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var Zl=(A,e)=>{let t=Bt(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Xl=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var AE=(A,e,t)=>A.replace(/(?!:)next$/,Xl(e,t));var iN="next",Kl=(A,e,t=new Date)=>{let r=new RegExp(iN+"$");return A.magento=A.magento.map(s=>s.match(r)?AE(s,e,t):s),A.include=A.include.map(s=>s.magento.match(r)?{...s,magento:AE(s.magento,e,t)}:s),A};var zl=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=Bt(A);return Object.entries(a).filter(([g,E])=>{let Q=new Date(E.release);Q.setSeconds(Q.getSeconds()+1);let c=new Date(E.release);return c.setFullYear(c.getFullYear()+i),c.setMonth(c.getMonth()+n),c.setDate(c.getDate()+o),e>=Q&&e<=c}).map(([g,E])=>g)};var $l=(A,e,t="",r="2y")=>{switch(A){case"latest":return xt(e,Pl[e]);case"currently-supported":return xt(e,Zl(e,new Date));case"nightly":return Kl(xt(e,_l[e]),"https://upstream-nightly.mage-os.org",jl());case"all":return xt(e,Object.keys(Bt(e)));case"custom":return xt(e,t.split(","));case"recent":return xt(e,zl(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};async function Au(){try{let A=Xe.getInput("kind"),e=Xe.getInput("custom_versions"),t=Xe.getInput("project"),r=Xe.getInput("recent_time_frame");fs(t),Tl(A,e?e.split(","):void 0),Xe.setOutput("matrix",$l(A,t,e,r))}catch(A){Xe.setFailed(A.message)}}Au();0&&(module.exports={run}); /*! Bundled license information: undici/lib/fetch/body.js: diff --git a/supported-version/src/matrix/matrix-type.ts b/supported-version/src/matrix/matrix-type.ts index 00abd44..51f1a13 100644 --- a/supported-version/src/matrix/matrix-type.ts +++ b/supported-version/src/matrix/matrix-type.ts @@ -4,9 +4,11 @@ export interface PackageMatrixVersion { composer: string | number, mysql: string, elasticsearch: string, + opensearch: string, rabbitmq: string, redis: string, varnish: string, + valkey: string, nginx: string, os: string, release: string, diff --git a/supported-version/src/nightly/amend-matrix-for-next.spec.ts b/supported-version/src/nightly/amend-matrix-for-next.spec.ts index 0ca936a..c88d769 100644 --- a/supported-version/src/nightly/amend-matrix-for-next.spec.ts +++ b/supported-version/src/nightly/amend-matrix-for-next.spec.ts @@ -12,8 +12,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -35,8 +37,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -60,8 +64,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -83,8 +89,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -108,8 +116,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -122,8 +132,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -145,8 +157,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -159,8 +173,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -184,8 +200,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", @@ -207,8 +225,10 @@ describe('amendMatrixForNext', () => { "composer": "2", "mysql": "mysql:8.0", "elasticsearch": "elasticsearch:8.5.3", + "opensearch": "", "rabbitmq": "rabbitmq:3.11-management", "redis": "redis:7.0", + "valkey": "", "varnish": "varnish:7.3", "nginx": "nginx:1.22", "os": "ubuntu-latest", diff --git a/supported-version/src/versions/mage-os/composite.json b/supported-version/src/versions/mage-os/composite.json index f7a8a00..a642985 100644 --- a/supported-version/src/versions/mage-os/composite.json +++ b/supported-version/src/versions/mage-os/composite.json @@ -26,6 +26,20 @@ "os": "ubuntu-latest", "release": "2025-06-17T00:00:00+0000", "eol": "2028-06-18T00:00:00+0000" + }, + "mage-os/project-community-edition:>=1.0 <1.1": { + "magento": "mage-os/project-community-edition:>=1.0 <1.1", + "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": "2023-10-10T00:00:00+0000", + "eol": "2025-04-07T00:00:00+0000" }, "mage-os/project-community-edition:>=1.1 <1.2": { "magento": "mage-os/project-community-edition:>=1.1 <1.2", diff --git a/supported-version/src/versions/magento-open-source/composite.json b/supported-version/src/versions/magento-open-source/composite.json index 1ca769e..d6a1083 100644 --- a/supported-version/src/versions/magento-open-source/composite.json +++ b/supported-version/src/versions/magento-open-source/composite.json @@ -131,6 +131,7 @@ "composer": "2.8.8", "mysql": "mysql:8.4", "elasticsearch": "elasticsearch:8.17.4", + "opensearch": "opensearchproject/opensearch:2.19.1", "rabbitmq": "rabbitmq:4.0-management", "redis": "redis:7.2", "valkey": "valkey:8.0", @@ -146,6 +147,7 @@ "composer": "2.8.8", "mysql": "mysql:8.4", "elasticsearch": "elasticsearch:8.17.4", + "opensearch": "opensearchproject/opensearch:2.19.1", "rabbitmq": "rabbitmq:4.0-management", "redis": "redis:7.2", "valkey": "valkey:8.0", @@ -161,9 +163,10 @@ "composer": "2.8.8", "mysql": "mysql:8.4", "elasticsearch": "elasticsearch:8.17.4", + "valkey": "valkey:8.0", + "opensearch": "opensearchproject/opensearch:2.19.1", "rabbitmq": "rabbitmq:4.0-management", "redis": "redis:7.2", - "valkey": "valkey:8.0", "varnish": "varnish:7.6", "nginx": "nginx:1.26", "os": "ubuntu-latest", diff --git a/supported-version/src/versions/magento-open-source/individual.json b/supported-version/src/versions/magento-open-source/individual.json index 9612b4c..30fa04a 100644 --- a/supported-version/src/versions/magento-open-source/individual.json +++ b/supported-version/src/versions/magento-open-source/individual.json @@ -803,6 +803,7 @@ "composer": "2.8.8", "mysql": "mysql:8.4", "elasticsearch": "elasticsearch:8.17.4", + "opensearch": "opensearchproject/opensearch:2.19.1", "rabbitmq": "rabbitmq:4.0-management", "redis": "redis:7.2", "valkey": "valkey:8.0",