From 98faff436578a9afe525d9c4fc2e9f10a54fc6c4 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Wed, 10 Aug 2022 08:01:37 -0400 Subject: [PATCH 1/4] feat(supported-version): add kind --- supported-version/README.md | 2 +- supported-version/action.yml | 2 +- supported-version/dist/index.js | 10 +++++----- supported-version/src/kind/all.json | 0 supported-version/src/kind/compute-kind.ts | 1 + .../src/matrix/get-matrix-for-kind.spec.ts | 7 +++++++ supported-version/src/matrix/get-matrix-for-kind.ts | 3 +++ 7 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 supported-version/src/kind/all.json diff --git a/supported-version/README.md b/supported-version/README.md index df21dfe..0564f8e 100644 --- a/supported-version/README.md +++ b/supported-version/README.md @@ -13,7 +13,7 @@ See the [action.yml](./action.yml) | Input | Description | Required | Default | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ----------- | -| kind | The "kind" of support you're targeting for your package. Allowed values are `currently-supported`, `latest` and `custom` | false | 'currently-supported' | +| kind | The "kind" of support you're targeting for your package. Allowed values are `currently-supported`, `latest`, `custom`, and `all` | false | 'currently-supported' | | custom_versions | The versions you want to support, as a comma-separated string, i.e. 'magento/project-community-edition:2.3.7-p3, magento/project-community-edition:2.4.2-p2' | false | '' | ## Usage diff --git a/supported-version/action.yml b/supported-version/action.yml index 4980f1c..304bcb8 100644 --- a/supported-version/action.yml +++ b/supported-version/action.yml @@ -5,7 +5,7 @@ description: "A Github Action that computes the Github Actions matrix for the ch inputs: kind: required: false - description: "The kind of versions you want to return. Allowed values are `currently-supported, latest, custom`" + description: "The kind of versions you want to return. Allowed values are `currently-supported, latest, custom, all`" default: "currently-supported" custom_versions: required: false diff --git a/supported-version/dist/index.js b/supported-version/dist/index.js index e8a74e5..24bc921 100644 --- a/supported-version/dist/index.js +++ b/supported-version/dist/index.js @@ -1,8 +1,8 @@ -var We=Object.create;var N=Object.defineProperty;var He=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),et=(e,t)=>{for(var r in t)N(e,r,{get:t[r],enumerable:!0})},ce=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ze.call(e,i)&&i!==r&&N(e,i,{get:()=>t[i],enumerable:!(n=He(t,i))||n.enumerable});return e};var tt=(e,t,r)=>(r=e!=null?We(Xe(e)):{},ce(t||!e||!e.__esModule?N(r,"default",{value:e,enumerable:!0}):r,e)),rt=e=>ce(N({},"__esModule",{value:!0}),e);var B=_(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.toCommandProperties=T.toCommandValue=void 0;function nt(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}T.toCommandValue=nt;function it(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}T.toCommandProperties=it});var fe=_(b=>{"use strict";var ot=b&&b.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),st=b&&b.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),at=b&&b.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&ot(t,e,r);return st(t,e),t};Object.defineProperty(b,"__esModule",{value:!0});b.issue=b.issueCommand=void 0;var ut=at(require("os")),de=B();function he(e,t,r){let n=new z(e,t,r);process.stdout.write(n.toString()+ut.EOL)}b.issueCommand=he;function ct(e,t=""){he(e,{},t)}b.issue=ct;var le="::",z=class{constructor(t,r,n){t||(t="missing.command"),this.command=t,this.properties=r,this.message=n}toString(){let t=le+this.command;if(this.properties&&Object.keys(this.properties).length>0){t+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let i=this.properties[n];i&&(r?r=!1:t+=",",t+=`${n}=${dt(i)}`)}}return t+=`${le}${lt(this.message)}`,t}};function lt(e){return de.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function dt(e){return de.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}});var ge=_(O=>{"use strict";var ht=O&&O.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ft=O&&O.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),pe=O&&O.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&ht(t,e,r);return ft(t,e),t};Object.defineProperty(O,"__esModule",{value:!0});O.issueCommand=void 0;var me=pe(require("fs")),mt=pe(require("os")),pt=B();function gt(e,t){let r=process.env[`GITHUB_${e}`];if(!r)throw new Error(`Unable to find environment variable for file command ${e}`);if(!me.existsSync(r))throw new Error(`Missing file at path: ${r}`);me.appendFileSync(r,`${pt.toCommandValue(t)}${mt.EOL}`,{encoding:"utf8"})}O.issueCommand=gt});var ye=_(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.checkBypass=M.getProxyUrl=void 0;function vt(e){let t=e.protocol==="https:";if(ve(e))return;let r=(()=>t?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY)();if(r)return new URL(r)}M.getProxyUrl=vt;function ve(e){if(!e.hostname)return!1;let t=process.env.no_proxy||process.env.NO_PROXY||"";if(!t)return!1;let r;e.port?r=Number(e.port):e.protocol==="http:"?r=80:e.protocol==="https:"&&(r=443);let n=[e.hostname.toUpperCase()];typeof r=="number"&&n.push(`${n[0]}:${r}`);for(let i of t.split(",").map(o=>o.trim().toUpperCase()).filter(o=>o))if(n.some(o=>o===i))return!0;return!1}M.checkBypass=ve});var qe=_(U=>{"use strict";var Pr=require("net"),yt=require("tls"),Y=require("http"),_e=require("https"),_t=require("events"),jr=require("assert"),bt=require("util");U.httpOverHttp=wt;U.httpsOverHttp=qt;U.httpOverHttps=Ot;U.httpsOverHttps=Et;function wt(e){var t=new R(e);return t.request=Y.request,t}function qt(e){var t=new R(e);return t.request=Y.request,t.createSocket=be,t.defaultPort=443,t}function Ot(e){var t=new R(e);return t.request=_e.request,t}function Et(e){var t=new R(e);return t.request=_e.request,t.createSocket=be,t.defaultPort=443,t}function R(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||Y.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",function(n,i,o,s){for(var l=we(i,o,s),h=0,a=t.requests.length;h=this.maxSockets){o.requests.push(s);return}o.createSocket(s,function(l){l.on("free",h),l.on("close",a),l.on("agentRemove",a),t.onSocket(l);function h(){o.emit("free",l,s)}function a(c){o.removeSocket(l),l.removeListener("free",h),l.removeListener("close",a),l.removeListener("agentRemove",a)}})};R.prototype.createSocket=function(t,r){var n=this,i={};n.sockets.push(i);var o=W({},n.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(o.localAddress=t.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),S("making CONNECT request");var s=n.request(o);s.useChunkedEncodingByDefault=!1,s.once("response",l),s.once("upgrade",h),s.once("connect",a),s.once("error",c),s.end();function l(d){d.upgrade=!0}function h(d,m,x){process.nextTick(function(){a(d,m,x)})}function a(d,m,x){if(s.removeAllListeners(),m.removeAllListeners(),d.statusCode!==200){S("tunneling socket could not be established, statusCode=%d",d.statusCode),m.destroy();var C=new Error("tunneling socket could not be established, statusCode="+d.statusCode);C.code="ECONNRESET",t.request.emit("error",C),n.removeSocket(i);return}if(x.length>0){S("got illegal response body from proxy"),m.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",t.request.emit("error",C),n.removeSocket(i);return}return S("tunneling connection has established"),n.sockets[n.sockets.indexOf(i)]=m,r(m)}function c(d){s.removeAllListeners(),S(`tunneling socket could not be established, cause=%s -`,d.message,d.stack);var m=new Error("tunneling socket could not be established, cause="+d.message);m.code="ECONNRESET",t.request.emit("error",m),n.removeSocket(i)}};R.prototype.removeSocket=function(t){var r=this.sockets.indexOf(t);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(i){n.request.onSocket(i)})}};function be(e,t){var r=this;R.prototype.createSocket.call(r,e,function(n){var i=e.request.getHeader("host"),o=W({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host}),s=yt.connect(0,o);r.sockets[r.sockets.indexOf(n)]=s,t(s)})}function we(e,t,r){return typeof e=="string"?{host:e,port:t,localAddress:r}:e}function W(e){for(var t=1,r=arguments.length;t{Oe.exports=qe()});var Se=_(f=>{"use strict";var Rt=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),St=f&&f.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),F=f&&f.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&Rt(t,e,r);return St(t,e),t},p=f&&f.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(f,"__esModule",{value:!0});f.HttpClient=f.isHttps=f.HttpClientResponse=f.HttpClientError=f.getProxyUrl=f.MediaTypes=f.Headers=f.HttpCodes=void 0;var $=F(require("http")),H=F(require("https")),Re=F(ye()),I=F(Ee()),q;(function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"})(q=f.HttpCodes||(f.HttpCodes={}));var g;(function(e){e.Accept="accept",e.ContentType="content-type"})(g=f.Headers||(f.Headers={}));var P;(function(e){e.ApplicationJson="application/json"})(P=f.MediaTypes||(f.MediaTypes={}));function Pt(e){let t=Re.getProxyUrl(new URL(e));return t?t.href:""}f.getProxyUrl=Pt;var jt=[q.MovedPermanently,q.ResourceMoved,q.SeeOther,q.TemporaryRedirect,q.PermanentRedirect],At=[q.BadGateway,q.ServiceUnavailable,q.GatewayTimeout],xt=["OPTIONS","GET","DELETE","HEAD"],Tt=10,Mt=5,D=class extends Error{constructor(t,r){super(t),this.name="HttpClientError",this.statusCode=r,Object.setPrototypeOf(this,D.prototype)}};f.HttpClientError=D;var V=class{constructor(t){this.message=t}readBody(){return p(this,void 0,void 0,function*(){return new Promise(t=>p(this,void 0,void 0,function*(){let r=Buffer.alloc(0);this.message.on("data",n=>{r=Buffer.concat([r,n])}),this.message.on("end",()=>{t(r.toString())})}))})}};f.HttpClientResponse=V;function Ut(e){return new URL(e).protocol==="https:"}f.isHttps=Ut;var Q=class{constructor(t,r,n){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=t,this.handlers=r||[],this.requestOptions=n,n&&(n.ignoreSslError!=null&&(this._ignoreSslError=n.ignoreSslError),this._socketTimeout=n.socketTimeout,n.allowRedirects!=null&&(this._allowRedirects=n.allowRedirects),n.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=n.allowRedirectDowngrade),n.maxRedirects!=null&&(this._maxRedirects=Math.max(n.maxRedirects,0)),n.keepAlive!=null&&(this._keepAlive=n.keepAlive),n.allowRetries!=null&&(this._allowRetries=n.allowRetries),n.maxRetries!=null&&(this._maxRetries=n.maxRetries))}options(t,r){return p(this,void 0,void 0,function*(){return this.request("OPTIONS",t,null,r||{})})}get(t,r){return p(this,void 0,void 0,function*(){return this.request("GET",t,null,r||{})})}del(t,r){return p(this,void 0,void 0,function*(){return this.request("DELETE",t,null,r||{})})}post(t,r,n){return p(this,void 0,void 0,function*(){return this.request("POST",t,r,n||{})})}patch(t,r,n){return p(this,void 0,void 0,function*(){return this.request("PATCH",t,r,n||{})})}put(t,r,n){return p(this,void 0,void 0,function*(){return this.request("PUT",t,r,n||{})})}head(t,r){return p(this,void 0,void 0,function*(){return this.request("HEAD",t,null,r||{})})}sendStream(t,r,n,i){return p(this,void 0,void 0,function*(){return this.request(t,r,n,i)})}getJson(t,r={}){return p(this,void 0,void 0,function*(){r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,P.ApplicationJson);let n=yield this.get(t,r);return this._processResponse(n,this.requestOptions)})}postJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.post(t,i,n);return this._processResponse(o,this.requestOptions)})}putJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.put(t,i,n);return this._processResponse(o,this.requestOptions)})}patchJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.patch(t,i,n);return this._processResponse(o,this.requestOptions)})}request(t,r,n,i){return p(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let o=new URL(r),s=this._prepareRequest(t,o,i),l=this._allowRetries&&xt.includes(t)?this._maxRetries+1:1,h=0,a;do{if(a=yield this.requestRaw(s,n),a&&a.message&&a.message.statusCode===q.Unauthorized){let d;for(let m of this.handlers)if(m.canHandleAuthentication(a)){d=m;break}return d?d.handleAuthentication(this,s,n):a}let c=this._maxRedirects;for(;a.message.statusCode&&jt.includes(a.message.statusCode)&&this._allowRedirects&&c>0;){let d=a.message.headers.location;if(!d)break;let m=new URL(d);if(o.protocol==="https:"&&o.protocol!==m.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield a.readBody(),m.hostname!==o.hostname)for(let x in i)x.toLowerCase()==="authorization"&&delete i[x];s=this._prepareRequest(t,m,i),a=yield this.requestRaw(s,n),c--}if(!a.message.statusCode||!At.includes(a.message.statusCode))return a;h+=1,h{function o(s,l){s?i(s):l?n(l):i(new Error("Unknown error"))}this.requestRawWithCallback(t,r,o)})})}requestRawWithCallback(t,r,n){typeof r=="string"&&(t.options.headers||(t.options.headers={}),t.options.headers["Content-Length"]=Buffer.byteLength(r,"utf8"));let i=!1;function o(h,a){i||(i=!0,n(h,a))}let s=t.httpModule.request(t.options,h=>{let a=new V(h);o(void 0,a)}),l;s.on("socket",h=>{l=h}),s.setTimeout(this._socketTimeout||3*6e4,()=>{l&&l.end(),o(new Error(`Request timeout: ${t.options.path}`))}),s.on("error",function(h){o(h)}),r&&typeof r=="string"&&s.write(r,"utf8"),r&&typeof r!="string"?(r.on("close",function(){s.end()}),r.pipe(s)):s.end()}getAgent(t){let r=new URL(t);return this._getAgent(r)}_prepareRequest(t,r,n){let i={};i.parsedUrl=r;let o=i.parsedUrl.protocol==="https:";i.httpModule=o?H:$;let s=o?443:80;if(i.options={},i.options.host=i.parsedUrl.hostname,i.options.port=i.parsedUrl.port?parseInt(i.parsedUrl.port):s,i.options.path=(i.parsedUrl.pathname||"")+(i.parsedUrl.search||""),i.options.method=t,i.options.headers=this._mergeHeaders(n),this.userAgent!=null&&(i.options.headers["user-agent"]=this.userAgent),i.options.agent=this._getAgent(i.parsedUrl),this.handlers)for(let l of this.handlers)l.prepareRequest(i.options);return i}_mergeHeaders(t){return this.requestOptions&&this.requestOptions.headers?Object.assign({},L(this.requestOptions.headers),L(t||{})):L(t||{})}_getExistingOrDefaultHeader(t,r,n){let i;return this.requestOptions&&this.requestOptions.headers&&(i=L(this.requestOptions.headers)[r]),t[r]||i||n}_getAgent(t){let r,n=Re.getProxyUrl(t),i=n&&n.hostname;if(this._keepAlive&&i&&(r=this._proxyAgent),this._keepAlive&&!i&&(r=this._agent),r)return r;let o=t.protocol==="https:",s=100;if(this.requestOptions&&(s=this.requestOptions.maxSockets||$.globalAgent.maxSockets),n&&n.hostname){let l={maxSockets:s,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(n.username||n.password)&&{proxyAuth:`${n.username}:${n.password}`}),{host:n.hostname,port:n.port})},h,a=n.protocol==="https:";o?h=a?I.httpsOverHttps:I.httpsOverHttp:h=a?I.httpOverHttps:I.httpOverHttp,r=h(l),this._proxyAgent=r}if(this._keepAlive&&!r){let l={keepAlive:this._keepAlive,maxSockets:s};r=o?new H.Agent(l):new $.Agent(l),this._agent=r}return r||(r=o?H.globalAgent:$.globalAgent),o&&this._ignoreSslError&&(r.options=Object.assign(r.options||{},{rejectUnauthorized:!1})),r}_performExponentialBackoff(t){return p(this,void 0,void 0,function*(){t=Math.min(Tt,t);let r=Mt*Math.pow(2,t);return new Promise(n=>setTimeout(()=>n(),r))})}_processResponse(t,r){return p(this,void 0,void 0,function*(){return new Promise((n,i)=>p(this,void 0,void 0,function*(){let o=t.message.statusCode||0,s={statusCode:o,result:null,headers:{}};o===q.NotFound&&n(s);function l(c,d){if(typeof d=="string"){let m=new Date(d);if(!isNaN(m.valueOf()))return m}return d}let h,a;try{a=yield t.readBody(),a&&a.length>0&&(r&&r.deserializeDates?h=JSON.parse(a,l):h=JSON.parse(a),s.result=h),s.headers=t.message.headers}catch{}if(o>299){let c;h&&h.message?c=h.message:a&&a.length>0?c=a:c=`Failed request: (${o})`;let d=new D(c,o);d.result=s.result,i(d)}else n(s)}))})}};f.HttpClient=Q;var L=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{})});var Pe=_(E=>{"use strict";var te=E&&E.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(E,"__esModule",{value:!0});E.PersonalAccessTokenCredentialHandler=E.BearerCredentialHandler=E.BasicCredentialHandler=void 0;var X=class{constructor(t,r){this.username=t,this.password=r}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return te(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.BasicCredentialHandler=X;var Z=class{constructor(t){this.token=t}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return te(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.BearerCredentialHandler=Z;var ee=class{constructor(t){this.token=t}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return te(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.PersonalAccessTokenCredentialHandler=ee});var xe=_(k=>{"use strict";var je=k&&k.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(k,"__esModule",{value:!0});k.OidcClient=void 0;var Dt=Se(),kt=Pe(),Ae=re(),j=class{static createHttpClient(t=!0,r=10){let n={allowRetries:t,maxRetries:r};return new Dt.HttpClient("actions/oidc-client",[new kt.BearerCredentialHandler(j.getRequestToken())],n)}static getRequestToken(){let t=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!t)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return t}static getIDTokenUrl(){let t=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!t)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return t}static getCall(t){var r;return je(this,void 0,void 0,function*(){let o=(r=(yield j.createHttpClient().getJson(t).catch(s=>{throw new Error(`Failed to get ID Token. +var We=Object.create;var B=Object.defineProperty;var He=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),et=(e,t)=>{for(var r in t)B(e,r,{get:t[r],enumerable:!0})},le=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ze.call(e,i)&&i!==r&&B(e,i,{get:()=>t[i],enumerable:!(n=He(t,i))||n.enumerable});return e};var tt=(e,t,r)=>(r=e!=null?We(Xe(e)):{},le(t||!e||!e.__esModule?B(r,"default",{value:e,enumerable:!0}):r,e)),rt=e=>le(B({},"__esModule",{value:!0}),e);var $=_(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.toCommandProperties=T.toCommandValue=void 0;function nt(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}T.toCommandValue=nt;function it(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}T.toCommandProperties=it});var me=_(b=>{"use strict";var ot=b&&b.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),st=b&&b.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),at=b&&b.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&ot(t,e,r);return st(t,e),t};Object.defineProperty(b,"__esModule",{value:!0});b.issue=b.issueCommand=void 0;var ut=at(require("os")),he=$();function fe(e,t,r){let n=new Y(e,t,r);process.stdout.write(n.toString()+ut.EOL)}b.issueCommand=fe;function ct(e,t=""){fe(e,{},t)}b.issue=ct;var de="::",Y=class{constructor(t,r,n){t||(t="missing.command"),this.command=t,this.properties=r,this.message=n}toString(){let t=de+this.command;if(this.properties&&Object.keys(this.properties).length>0){t+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let i=this.properties[n];i&&(r?r=!1:t+=",",t+=`${n}=${dt(i)}`)}}return t+=`${de}${lt(this.message)}`,t}};function lt(e){return he.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function dt(e){return he.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}});var ve=_(O=>{"use strict";var ht=O&&O.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ft=O&&O.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ge=O&&O.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&ht(t,e,r);return ft(t,e),t};Object.defineProperty(O,"__esModule",{value:!0});O.issueCommand=void 0;var pe=ge(require("fs")),mt=ge(require("os")),pt=$();function gt(e,t){let r=process.env[`GITHUB_${e}`];if(!r)throw new Error(`Unable to find environment variable for file command ${e}`);if(!pe.existsSync(r))throw new Error(`Missing file at path: ${r}`);pe.appendFileSync(r,`${pt.toCommandValue(t)}${mt.EOL}`,{encoding:"utf8"})}O.issueCommand=gt});var _e=_(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.checkBypass=M.getProxyUrl=void 0;function vt(e){let t=e.protocol==="https:";if(ye(e))return;let r=(()=>t?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY)();if(r)return new URL(r)}M.getProxyUrl=vt;function ye(e){if(!e.hostname)return!1;let t=process.env.no_proxy||process.env.NO_PROXY||"";if(!t)return!1;let r;e.port?r=Number(e.port):e.protocol==="http:"?r=80:e.protocol==="https:"&&(r=443);let n=[e.hostname.toUpperCase()];typeof r=="number"&&n.push(`${n[0]}:${r}`);for(let i of t.split(",").map(o=>o.trim().toUpperCase()).filter(o=>o))if(n.some(o=>o===i))return!0;return!1}M.checkBypass=ye});var Oe=_(U=>{"use strict";var Pr=require("net"),yt=require("tls"),W=require("http"),be=require("https"),_t=require("events"),jr=require("assert"),bt=require("util");U.httpOverHttp=wt;U.httpsOverHttp=qt;U.httpOverHttps=Ot;U.httpsOverHttps=Et;function wt(e){var t=new R(e);return t.request=W.request,t}function qt(e){var t=new R(e);return t.request=W.request,t.createSocket=we,t.defaultPort=443,t}function Ot(e){var t=new R(e);return t.request=be.request,t}function Et(e){var t=new R(e);return t.request=be.request,t.createSocket=we,t.defaultPort=443,t}function R(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||W.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",function(n,i,o,s){for(var l=qe(i,o,s),h=0,a=t.requests.length;h=this.maxSockets){o.requests.push(s);return}o.createSocket(s,function(l){l.on("free",h),l.on("close",a),l.on("agentRemove",a),t.onSocket(l);function h(){o.emit("free",l,s)}function a(c){o.removeSocket(l),l.removeListener("free",h),l.removeListener("close",a),l.removeListener("agentRemove",a)}})};R.prototype.createSocket=function(t,r){var n=this,i={};n.sockets.push(i);var o=H({},n.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(o.localAddress=t.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),S("making CONNECT request");var s=n.request(o);s.useChunkedEncodingByDefault=!1,s.once("response",l),s.once("upgrade",h),s.once("connect",a),s.once("error",c),s.end();function l(d){d.upgrade=!0}function h(d,m,x){process.nextTick(function(){a(d,m,x)})}function a(d,m,x){if(s.removeAllListeners(),m.removeAllListeners(),d.statusCode!==200){S("tunneling socket could not be established, statusCode=%d",d.statusCode),m.destroy();var C=new Error("tunneling socket could not be established, statusCode="+d.statusCode);C.code="ECONNRESET",t.request.emit("error",C),n.removeSocket(i);return}if(x.length>0){S("got illegal response body from proxy"),m.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",t.request.emit("error",C),n.removeSocket(i);return}return S("tunneling connection has established"),n.sockets[n.sockets.indexOf(i)]=m,r(m)}function c(d){s.removeAllListeners(),S(`tunneling socket could not be established, cause=%s +`,d.message,d.stack);var m=new Error("tunneling socket could not be established, cause="+d.message);m.code="ECONNRESET",t.request.emit("error",m),n.removeSocket(i)}};R.prototype.removeSocket=function(t){var r=this.sockets.indexOf(t);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(i){n.request.onSocket(i)})}};function we(e,t){var r=this;R.prototype.createSocket.call(r,e,function(n){var i=e.request.getHeader("host"),o=H({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host}),s=yt.connect(0,o);r.sockets[r.sockets.indexOf(n)]=s,t(s)})}function qe(e,t,r){return typeof e=="string"?{host:e,port:t,localAddress:r}:e}function H(e){for(var t=1,r=arguments.length;t{Ee.exports=Oe()});var Pe=_(f=>{"use strict";var Rt=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),St=f&&f.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),G=f&&f.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&Rt(t,e,r);return St(t,e),t},p=f&&f.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(f,"__esModule",{value:!0});f.HttpClient=f.isHttps=f.HttpClientResponse=f.HttpClientError=f.getProxyUrl=f.MediaTypes=f.Headers=f.HttpCodes=void 0;var I=G(require("http")),Q=G(require("https")),Se=G(_e()),L=G(Re()),q;(function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"})(q=f.HttpCodes||(f.HttpCodes={}));var g;(function(e){e.Accept="accept",e.ContentType="content-type"})(g=f.Headers||(f.Headers={}));var P;(function(e){e.ApplicationJson="application/json"})(P=f.MediaTypes||(f.MediaTypes={}));function Pt(e){let t=Se.getProxyUrl(new URL(e));return t?t.href:""}f.getProxyUrl=Pt;var jt=[q.MovedPermanently,q.ResourceMoved,q.SeeOther,q.TemporaryRedirect,q.PermanentRedirect],At=[q.BadGateway,q.ServiceUnavailable,q.GatewayTimeout],xt=["OPTIONS","GET","DELETE","HEAD"],Tt=10,Mt=5,k=class extends Error{constructor(t,r){super(t),this.name="HttpClientError",this.statusCode=r,Object.setPrototypeOf(this,k.prototype)}};f.HttpClientError=k;var F=class{constructor(t){this.message=t}readBody(){return p(this,void 0,void 0,function*(){return new Promise(t=>p(this,void 0,void 0,function*(){let r=Buffer.alloc(0);this.message.on("data",n=>{r=Buffer.concat([r,n])}),this.message.on("end",()=>{t(r.toString())})}))})}};f.HttpClientResponse=F;function Ut(e){return new URL(e).protocol==="https:"}f.isHttps=Ut;var X=class{constructor(t,r,n){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=t,this.handlers=r||[],this.requestOptions=n,n&&(n.ignoreSslError!=null&&(this._ignoreSslError=n.ignoreSslError),this._socketTimeout=n.socketTimeout,n.allowRedirects!=null&&(this._allowRedirects=n.allowRedirects),n.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=n.allowRedirectDowngrade),n.maxRedirects!=null&&(this._maxRedirects=Math.max(n.maxRedirects,0)),n.keepAlive!=null&&(this._keepAlive=n.keepAlive),n.allowRetries!=null&&(this._allowRetries=n.allowRetries),n.maxRetries!=null&&(this._maxRetries=n.maxRetries))}options(t,r){return p(this,void 0,void 0,function*(){return this.request("OPTIONS",t,null,r||{})})}get(t,r){return p(this,void 0,void 0,function*(){return this.request("GET",t,null,r||{})})}del(t,r){return p(this,void 0,void 0,function*(){return this.request("DELETE",t,null,r||{})})}post(t,r,n){return p(this,void 0,void 0,function*(){return this.request("POST",t,r,n||{})})}patch(t,r,n){return p(this,void 0,void 0,function*(){return this.request("PATCH",t,r,n||{})})}put(t,r,n){return p(this,void 0,void 0,function*(){return this.request("PUT",t,r,n||{})})}head(t,r){return p(this,void 0,void 0,function*(){return this.request("HEAD",t,null,r||{})})}sendStream(t,r,n,i){return p(this,void 0,void 0,function*(){return this.request(t,r,n,i)})}getJson(t,r={}){return p(this,void 0,void 0,function*(){r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,P.ApplicationJson);let n=yield this.get(t,r);return this._processResponse(n,this.requestOptions)})}postJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.post(t,i,n);return this._processResponse(o,this.requestOptions)})}putJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.put(t,i,n);return this._processResponse(o,this.requestOptions)})}patchJson(t,r,n={}){return p(this,void 0,void 0,function*(){let i=JSON.stringify(r,null,2);n[g.Accept]=this._getExistingOrDefaultHeader(n,g.Accept,P.ApplicationJson),n[g.ContentType]=this._getExistingOrDefaultHeader(n,g.ContentType,P.ApplicationJson);let o=yield this.patch(t,i,n);return this._processResponse(o,this.requestOptions)})}request(t,r,n,i){return p(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let o=new URL(r),s=this._prepareRequest(t,o,i),l=this._allowRetries&&xt.includes(t)?this._maxRetries+1:1,h=0,a;do{if(a=yield this.requestRaw(s,n),a&&a.message&&a.message.statusCode===q.Unauthorized){let d;for(let m of this.handlers)if(m.canHandleAuthentication(a)){d=m;break}return d?d.handleAuthentication(this,s,n):a}let c=this._maxRedirects;for(;a.message.statusCode&&jt.includes(a.message.statusCode)&&this._allowRedirects&&c>0;){let d=a.message.headers.location;if(!d)break;let m=new URL(d);if(o.protocol==="https:"&&o.protocol!==m.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield a.readBody(),m.hostname!==o.hostname)for(let x in i)x.toLowerCase()==="authorization"&&delete i[x];s=this._prepareRequest(t,m,i),a=yield this.requestRaw(s,n),c--}if(!a.message.statusCode||!At.includes(a.message.statusCode))return a;h+=1,h{function o(s,l){s?i(s):l?n(l):i(new Error("Unknown error"))}this.requestRawWithCallback(t,r,o)})})}requestRawWithCallback(t,r,n){typeof r=="string"&&(t.options.headers||(t.options.headers={}),t.options.headers["Content-Length"]=Buffer.byteLength(r,"utf8"));let i=!1;function o(h,a){i||(i=!0,n(h,a))}let s=t.httpModule.request(t.options,h=>{let a=new F(h);o(void 0,a)}),l;s.on("socket",h=>{l=h}),s.setTimeout(this._socketTimeout||3*6e4,()=>{l&&l.end(),o(new Error(`Request timeout: ${t.options.path}`))}),s.on("error",function(h){o(h)}),r&&typeof r=="string"&&s.write(r,"utf8"),r&&typeof r!="string"?(r.on("close",function(){s.end()}),r.pipe(s)):s.end()}getAgent(t){let r=new URL(t);return this._getAgent(r)}_prepareRequest(t,r,n){let i={};i.parsedUrl=r;let o=i.parsedUrl.protocol==="https:";i.httpModule=o?Q:I;let s=o?443:80;if(i.options={},i.options.host=i.parsedUrl.hostname,i.options.port=i.parsedUrl.port?parseInt(i.parsedUrl.port):s,i.options.path=(i.parsedUrl.pathname||"")+(i.parsedUrl.search||""),i.options.method=t,i.options.headers=this._mergeHeaders(n),this.userAgent!=null&&(i.options.headers["user-agent"]=this.userAgent),i.options.agent=this._getAgent(i.parsedUrl),this.handlers)for(let l of this.handlers)l.prepareRequest(i.options);return i}_mergeHeaders(t){return this.requestOptions&&this.requestOptions.headers?Object.assign({},V(this.requestOptions.headers),V(t||{})):V(t||{})}_getExistingOrDefaultHeader(t,r,n){let i;return this.requestOptions&&this.requestOptions.headers&&(i=V(this.requestOptions.headers)[r]),t[r]||i||n}_getAgent(t){let r,n=Se.getProxyUrl(t),i=n&&n.hostname;if(this._keepAlive&&i&&(r=this._proxyAgent),this._keepAlive&&!i&&(r=this._agent),r)return r;let o=t.protocol==="https:",s=100;if(this.requestOptions&&(s=this.requestOptions.maxSockets||I.globalAgent.maxSockets),n&&n.hostname){let l={maxSockets:s,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(n.username||n.password)&&{proxyAuth:`${n.username}:${n.password}`}),{host:n.hostname,port:n.port})},h,a=n.protocol==="https:";o?h=a?L.httpsOverHttps:L.httpsOverHttp:h=a?L.httpOverHttps:L.httpOverHttp,r=h(l),this._proxyAgent=r}if(this._keepAlive&&!r){let l={keepAlive:this._keepAlive,maxSockets:s};r=o?new Q.Agent(l):new I.Agent(l),this._agent=r}return r||(r=o?Q.globalAgent:I.globalAgent),o&&this._ignoreSslError&&(r.options=Object.assign(r.options||{},{rejectUnauthorized:!1})),r}_performExponentialBackoff(t){return p(this,void 0,void 0,function*(){t=Math.min(Tt,t);let r=Mt*Math.pow(2,t);return new Promise(n=>setTimeout(()=>n(),r))})}_processResponse(t,r){return p(this,void 0,void 0,function*(){return new Promise((n,i)=>p(this,void 0,void 0,function*(){let o=t.message.statusCode||0,s={statusCode:o,result:null,headers:{}};o===q.NotFound&&n(s);function l(c,d){if(typeof d=="string"){let m=new Date(d);if(!isNaN(m.valueOf()))return m}return d}let h,a;try{a=yield t.readBody(),a&&a.length>0&&(r&&r.deserializeDates?h=JSON.parse(a,l):h=JSON.parse(a),s.result=h),s.headers=t.message.headers}catch{}if(o>299){let c;h&&h.message?c=h.message:a&&a.length>0?c=a:c=`Failed request: (${o})`;let d=new k(c,o);d.result=s.result,i(d)}else n(s)}))})}};f.HttpClient=X;var V=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{})});var je=_(E=>{"use strict";var re=E&&E.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(E,"__esModule",{value:!0});E.PersonalAccessTokenCredentialHandler=E.BearerCredentialHandler=E.BasicCredentialHandler=void 0;var Z=class{constructor(t,r){this.username=t,this.password=r}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return re(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.BasicCredentialHandler=Z;var ee=class{constructor(t){this.token=t}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return re(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.BearerCredentialHandler=ee;var te=class{constructor(t){this.token=t}prepareRequest(t){if(!t.headers)throw Error("The request has no headers");t.headers.Authorization=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return re(this,void 0,void 0,function*(){throw new Error("not implemented")})}};E.PersonalAccessTokenCredentialHandler=te});var Te=_(D=>{"use strict";var Ae=D&&D.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0});D.OidcClient=void 0;var kt=Pe(),Dt=je(),xe=ne(),j=class{static createHttpClient(t=!0,r=10){let n={allowRetries:t,maxRetries:r};return new kt.HttpClient("actions/oidc-client",[new Dt.BearerCredentialHandler(j.getRequestToken())],n)}static getRequestToken(){let t=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!t)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return t}static getIDTokenUrl(){let t=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!t)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return t}static getCall(t){var r;return Ae(this,void 0,void 0,function*(){let o=(r=(yield j.createHttpClient().getJson(t).catch(s=>{throw new Error(`Failed to get ID Token. Error Code : ${s.statusCode} - Error Message: ${s.result.message}`)})).result)===null||r===void 0?void 0:r.value;if(!o)throw new Error("Response json body do not have ID Token field");return o})}static getIDToken(t){return je(this,void 0,void 0,function*(){try{let r=j.getIDTokenUrl();if(t){let i=encodeURIComponent(t);r=`${r}&audience=${i}`}Ae.debug(`ID token url is ${r}`);let n=yield j.getCall(r);return Ae.setSecret(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}};k.OidcClient=j});var se=_(v=>{"use strict";var ne=v&&v.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(v,"__esModule",{value:!0});v.summary=v.markdownSummary=v.SUMMARY_DOCS_URL=v.SUMMARY_ENV_VAR=void 0;var Ct=require("os"),ie=require("fs"),{access:Nt,appendFile:Bt,writeFile:$t}=ie.promises;v.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";v.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";var oe=class{constructor(){this._buffer=""}filePath(){return ne(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let t=process.env[v.SUMMARY_ENV_VAR];if(!t)throw new Error(`Unable to find environment variable for $${v.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield Nt(t,ie.constants.R_OK|ie.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${t}'. Check if the file has correct read/write permissions.`)}return this._filePath=t,this._filePath})}wrap(t,r,n={}){let i=Object.entries(n).map(([o,s])=>` ${o}="${s}"`).join("");return r?`<${t}${i}>${r}`:`<${t}${i}>`}write(t){return ne(this,void 0,void 0,function*(){let r=!!t?.overwrite,n=yield this.filePath();return yield(r?$t:Bt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return ne(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(t,r=!1){return this._buffer+=t,r?this.addEOL():this}addEOL(){return this.addRaw(Ct.EOL)}addCodeBlock(t,r){let n=Object.assign({},r&&{lang:r}),i=this.wrap("pre",this.wrap("code",t),n);return this.addRaw(i).addEOL()}addList(t,r=!1){let n=r?"ol":"ul",i=t.map(s=>this.wrap("li",s)).join(""),o=this.wrap(n,i);return this.addRaw(o).addEOL()}addTable(t){let r=t.map(i=>{let o=i.map(s=>{if(typeof s=="string")return this.wrap("td",s);let{header:l,data:h,colspan:a,rowspan:c}=s,d=l?"th":"td",m=Object.assign(Object.assign({},a&&{colspan:a}),c&&{rowspan:c});return this.wrap(d,h,m)}).join("");return this.wrap("tr",o)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(t,r){let n=this.wrap("details",this.wrap("summary",t)+r);return this.addRaw(n).addEOL()}addImage(t,r,n){let{width:i,height:o}=n||{},s=Object.assign(Object.assign({},i&&{width:i}),o&&{height:o}),l=this.wrap("img",null,Object.assign({src:t,alt:r},s));return this.addRaw(l).addEOL()}addHeading(t,r){let n=`h${r}`,i=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",o=this.wrap(i,t);return this.addRaw(o).addEOL()}addSeparator(){let t=this.wrap("hr",null);return this.addRaw(t).addEOL()}addBreak(){let t=this.wrap("br",null);return this.addRaw(t).addEOL()}addQuote(t,r){let n=Object.assign({},r&&{cite:r}),i=this.wrap("blockquote",t,n);return this.addRaw(i).addEOL()}addLink(t,r){let n=this.wrap("a",t,{href:r});return this.addRaw(n).addEOL()}},Te=new oe;v.markdownSummary=Te;v.summary=Te});var Me=_(y=>{"use strict";var It=y&&y.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Lt=y&&y.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Vt=y&&y.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&It(t,e,r);return Lt(t,e),t};Object.defineProperty(y,"__esModule",{value:!0});y.toPlatformPath=y.toWin32Path=y.toPosixPath=void 0;var Ft=Vt(require("path"));function Gt(e){return e.replace(/[\\]/g,"/")}y.toPosixPath=Gt;function Jt(e){return e.replace(/[/]/g,"\\")}y.toWin32Path=Jt;function Kt(e){return e.replace(/[/\\]/g,Ft.sep)}y.toPlatformPath=Kt});var re=_(u=>{"use strict";var zt=u&&u.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Yt=u&&u.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Ue=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&zt(t,e,r);return Yt(t,e),t},De=u&&u.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(u,"__esModule",{value:!0});u.getIDToken=u.getState=u.saveState=u.group=u.endGroup=u.startGroup=u.info=u.notice=u.warning=u.error=u.debug=u.isDebug=u.setFailed=u.setCommandEcho=u.setOutput=u.getBooleanInput=u.getMultilineInput=u.getInput=u.addPath=u.setSecret=u.exportVariable=u.ExitCode=void 0;var w=fe(),ke=ge(),J=B(),G=Ue(require("os")),Wt=Ue(require("path")),Ht=xe(),Ce;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(Ce=u.ExitCode||(u.ExitCode={}));function Qt(e,t){let r=J.toCommandValue(t);if(process.env[e]=r,process.env.GITHUB_ENV||""){let i="_GitHubActionsFileCommandDelimeter_",o=`${e}<<${i}${G.EOL}${r}${G.EOL}${i}`;ke.issueCommand("ENV",o)}else w.issueCommand("set-env",{name:e},r)}u.exportVariable=Qt;function Xt(e){w.issueCommand("add-mask",{},e)}u.setSecret=Xt;function Zt(e){process.env.GITHUB_PATH||""?ke.issueCommand("PATH",e):w.issueCommand("add-path",{},e),process.env.PATH=`${e}${Wt.delimiter}${process.env.PATH}`}u.addPath=Zt;function ae(e,t){let r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r)throw new Error(`Input required and not supplied: ${e}`);return t&&t.trimWhitespace===!1?r:r.trim()}u.getInput=ae;function er(e,t){return ae(e,t).split(` -`).filter(n=>n!=="")}u.getMultilineInput=er;function tr(e,t){let r=["true","True","TRUE"],n=["false","False","FALSE"],i=ae(e,t);if(r.includes(i))return!0;if(n.includes(i))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}u.getBooleanInput=tr;function rr(e,t){process.stdout.write(G.EOL),w.issueCommand("set-output",{name:e},t)}u.setOutput=rr;function nr(e){w.issue("echo",e?"on":"off")}u.setCommandEcho=nr;function ir(e){process.exitCode=Ce.Failure,Ne(e)}u.setFailed=ir;function or(){return process.env.RUNNER_DEBUG==="1"}u.isDebug=or;function sr(e){w.issueCommand("debug",{},e)}u.debug=sr;function Ne(e,t={}){w.issueCommand("error",J.toCommandProperties(t),e instanceof Error?e.toString():e)}u.error=Ne;function ar(e,t={}){w.issueCommand("warning",J.toCommandProperties(t),e instanceof Error?e.toString():e)}u.warning=ar;function ur(e,t={}){w.issueCommand("notice",J.toCommandProperties(t),e instanceof Error?e.toString():e)}u.notice=ur;function cr(e){process.stdout.write(e+G.EOL)}u.info=cr;function Be(e){w.issue("group",e)}u.startGroup=Be;function $e(){w.issue("endgroup")}u.endGroup=$e;function lr(e,t){return De(this,void 0,void 0,function*(){Be(e);let r;try{r=yield t()}finally{$e()}return r})}u.group=lr;function dr(e,t){w.issueCommand("save-state",{name:e},t)}u.saveState=dr;function hr(e){return process.env[`STATE_${e}`]||""}u.getState=hr;function fr(e){return De(this,void 0,void 0,function*(){return yield Ht.OidcClient.getIDToken(e)})}u.getIDToken=fr;var mr=se();Object.defineProperty(u,"summary",{enumerable:!0,get:function(){return mr.summary}});var pr=se();Object.defineProperty(u,"markdownSummary",{enumerable:!0,get:function(){return pr.markdownSummary}});var ue=Me();Object.defineProperty(u,"toPosixPath",{enumerable:!0,get:function(){return ue.toPosixPath}});Object.defineProperty(u,"toWin32Path",{enumerable:!0,get:function(){return ue.toWin32Path}});Object.defineProperty(u,"toPlatformPath",{enumerable:!0,get:function(){return ue.toPlatformPath}})});var wr={};et(wr,{run:()=>Ye});module.exports=rt(wr);var A=tt(re());var Ie={"currently-supported":!0,latest:!0,custom:!0},gr=e=>e in Ie,Le=e=>{if(gr(e))return!0;throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Ie).join(", ")}`)};var Ve={"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",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-18.04"},"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",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"magento/project-community-edition":{magento:"magento/project-community-edition",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"}};var Fe={"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",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-18.04"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"}};var Ge={...Fe,...Ve},K=e=>e.reduce((t,r)=>{if(Ge[r]===void 0)throw new Error("Unknown version while computing matrix");return{magento:[...t.magento,r],include:[...t.include,Ge[r]]}},{magento:[],include:[]});var Je=["magento/project-community-edition"];var Ke=["magento/project-community-edition:>=2.3 <2.4","magento/project-community-edition:>=2.4.0 <2.4.1","magento/project-community-edition:>=2.4.1 <2.4.2","magento/project-community-edition:>=2.4.2 <2.4.3","magento/project-community-edition:>=2.4.3 <2.4.4","magento/project-community-edition:>=2.4.4 <2.4.5","magento/project-community-edition"];var ze=(e,t="")=>{switch(e){case"latest":return K(Je);case"currently-supported":return K(Ke);case"custom":return K(t.split(","));default:throw new Error(`Unreachable kind: ${e} discovered, please report to the maintainers.`)}};async function Ye(){try{let e=A.getInput("kind");Le(e);let t=A.getInput("custom_versions");A.setOutput("matrix",ze(e,t))}catch(e){A.setFailed(e.message)}}Ye();0&&(module.exports={run}); + Error Message: ${s.result.message}`)})).result)===null||r===void 0?void 0:r.value;if(!o)throw new Error("Response json body do not have ID Token field");return o})}static getIDToken(t){return Ae(this,void 0,void 0,function*(){try{let r=j.getIDTokenUrl();if(t){let i=encodeURIComponent(t);r=`${r}&audience=${i}`}xe.debug(`ID token url is ${r}`);let n=yield j.getCall(r);return xe.setSecret(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}};D.OidcClient=j});var ae=_(v=>{"use strict";var ie=v&&v.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(v,"__esModule",{value:!0});v.summary=v.markdownSummary=v.SUMMARY_DOCS_URL=v.SUMMARY_ENV_VAR=void 0;var Ct=require("os"),oe=require("fs"),{access:Nt,appendFile:Bt,writeFile:$t}=oe.promises;v.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";v.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";var se=class{constructor(){this._buffer=""}filePath(){return ie(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let t=process.env[v.SUMMARY_ENV_VAR];if(!t)throw new Error(`Unable to find environment variable for $${v.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield Nt(t,oe.constants.R_OK|oe.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${t}'. Check if the file has correct read/write permissions.`)}return this._filePath=t,this._filePath})}wrap(t,r,n={}){let i=Object.entries(n).map(([o,s])=>` ${o}="${s}"`).join("");return r?`<${t}${i}>${r}`:`<${t}${i}>`}write(t){return ie(this,void 0,void 0,function*(){let r=!!t?.overwrite,n=yield this.filePath();return yield(r?$t:Bt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return ie(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(t,r=!1){return this._buffer+=t,r?this.addEOL():this}addEOL(){return this.addRaw(Ct.EOL)}addCodeBlock(t,r){let n=Object.assign({},r&&{lang:r}),i=this.wrap("pre",this.wrap("code",t),n);return this.addRaw(i).addEOL()}addList(t,r=!1){let n=r?"ol":"ul",i=t.map(s=>this.wrap("li",s)).join(""),o=this.wrap(n,i);return this.addRaw(o).addEOL()}addTable(t){let r=t.map(i=>{let o=i.map(s=>{if(typeof s=="string")return this.wrap("td",s);let{header:l,data:h,colspan:a,rowspan:c}=s,d=l?"th":"td",m=Object.assign(Object.assign({},a&&{colspan:a}),c&&{rowspan:c});return this.wrap(d,h,m)}).join("");return this.wrap("tr",o)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(t,r){let n=this.wrap("details",this.wrap("summary",t)+r);return this.addRaw(n).addEOL()}addImage(t,r,n){let{width:i,height:o}=n||{},s=Object.assign(Object.assign({},i&&{width:i}),o&&{height:o}),l=this.wrap("img",null,Object.assign({src:t,alt:r},s));return this.addRaw(l).addEOL()}addHeading(t,r){let n=`h${r}`,i=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",o=this.wrap(i,t);return this.addRaw(o).addEOL()}addSeparator(){let t=this.wrap("hr",null);return this.addRaw(t).addEOL()}addBreak(){let t=this.wrap("br",null);return this.addRaw(t).addEOL()}addQuote(t,r){let n=Object.assign({},r&&{cite:r}),i=this.wrap("blockquote",t,n);return this.addRaw(i).addEOL()}addLink(t,r){let n=this.wrap("a",t,{href:r});return this.addRaw(n).addEOL()}},Me=new se;v.markdownSummary=Me;v.summary=Me});var Ue=_(y=>{"use strict";var It=y&&y.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Lt=y&&y.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Vt=y&&y.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&It(t,e,r);return Lt(t,e),t};Object.defineProperty(y,"__esModule",{value:!0});y.toPlatformPath=y.toWin32Path=y.toPosixPath=void 0;var Ft=Vt(require("path"));function Gt(e){return e.replace(/[\\]/g,"/")}y.toPosixPath=Gt;function Jt(e){return e.replace(/[/]/g,"\\")}y.toWin32Path=Jt;function Kt(e){return e.replace(/[/\\]/g,Ft.sep)}y.toPlatformPath=Kt});var ne=_(u=>{"use strict";var zt=u&&u.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Yt=u&&u.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ke=u&&u.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&zt(t,e,r);return Yt(t,e),t},De=u&&u.__awaiter||function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{a(n.next(c))}catch(d){s(d)}}function h(c){try{a(n.throw(c))}catch(d){s(d)}}function a(c){c.done?o(c.value):i(c.value).then(l,h)}a((n=n.apply(e,t||[])).next())})};Object.defineProperty(u,"__esModule",{value:!0});u.getIDToken=u.getState=u.saveState=u.group=u.endGroup=u.startGroup=u.info=u.notice=u.warning=u.error=u.debug=u.isDebug=u.setFailed=u.setCommandEcho=u.setOutput=u.getBooleanInput=u.getMultilineInput=u.getInput=u.addPath=u.setSecret=u.exportVariable=u.ExitCode=void 0;var w=me(),Ce=ve(),K=$(),J=ke(require("os")),Wt=ke(require("path")),Ht=Te(),Ne;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(Ne=u.ExitCode||(u.ExitCode={}));function Qt(e,t){let r=K.toCommandValue(t);if(process.env[e]=r,process.env.GITHUB_ENV||""){let i="_GitHubActionsFileCommandDelimeter_",o=`${e}<<${i}${J.EOL}${r}${J.EOL}${i}`;Ce.issueCommand("ENV",o)}else w.issueCommand("set-env",{name:e},r)}u.exportVariable=Qt;function Xt(e){w.issueCommand("add-mask",{},e)}u.setSecret=Xt;function Zt(e){process.env.GITHUB_PATH||""?Ce.issueCommand("PATH",e):w.issueCommand("add-path",{},e),process.env.PATH=`${e}${Wt.delimiter}${process.env.PATH}`}u.addPath=Zt;function ue(e,t){let r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r)throw new Error(`Input required and not supplied: ${e}`);return t&&t.trimWhitespace===!1?r:r.trim()}u.getInput=ue;function er(e,t){return ue(e,t).split(` +`).filter(n=>n!=="")}u.getMultilineInput=er;function tr(e,t){let r=["true","True","TRUE"],n=["false","False","FALSE"],i=ue(e,t);if(r.includes(i))return!0;if(n.includes(i))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e} +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}u.getBooleanInput=tr;function rr(e,t){process.stdout.write(J.EOL),w.issueCommand("set-output",{name:e},t)}u.setOutput=rr;function nr(e){w.issue("echo",e?"on":"off")}u.setCommandEcho=nr;function ir(e){process.exitCode=Ne.Failure,Be(e)}u.setFailed=ir;function or(){return process.env.RUNNER_DEBUG==="1"}u.isDebug=or;function sr(e){w.issueCommand("debug",{},e)}u.debug=sr;function Be(e,t={}){w.issueCommand("error",K.toCommandProperties(t),e instanceof Error?e.toString():e)}u.error=Be;function ar(e,t={}){w.issueCommand("warning",K.toCommandProperties(t),e instanceof Error?e.toString():e)}u.warning=ar;function ur(e,t={}){w.issueCommand("notice",K.toCommandProperties(t),e instanceof Error?e.toString():e)}u.notice=ur;function cr(e){process.stdout.write(e+J.EOL)}u.info=cr;function $e(e){w.issue("group",e)}u.startGroup=$e;function Ie(){w.issue("endgroup")}u.endGroup=Ie;function lr(e,t){return De(this,void 0,void 0,function*(){$e(e);let r;try{r=yield t()}finally{Ie()}return r})}u.group=lr;function dr(e,t){w.issueCommand("save-state",{name:e},t)}u.saveState=dr;function hr(e){return process.env[`STATE_${e}`]||""}u.getState=hr;function fr(e){return De(this,void 0,void 0,function*(){return yield Ht.OidcClient.getIDToken(e)})}u.getIDToken=fr;var mr=ae();Object.defineProperty(u,"summary",{enumerable:!0,get:function(){return mr.summary}});var pr=ae();Object.defineProperty(u,"markdownSummary",{enumerable:!0,get:function(){return pr.markdownSummary}});var ce=Ue();Object.defineProperty(u,"toPosixPath",{enumerable:!0,get:function(){return ce.toPosixPath}});Object.defineProperty(u,"toWin32Path",{enumerable:!0,get:function(){return ce.toWin32Path}});Object.defineProperty(u,"toPlatformPath",{enumerable:!0,get:function(){return ce.toPlatformPath}})});var wr={};et(wr,{run:()=>Ye});module.exports=rt(wr);var A=tt(ne());var Le={"currently-supported":!0,latest:!0,custom:!0,all:!0},gr=e=>e in Le,Ve=e=>{if(gr(e))return!0;throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Le).join(", ")}`)};var Fe={"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",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-18.04"},"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",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"magento/project-community-edition":{magento:"magento/project-community-edition",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"}};var z={"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",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-18.04"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-latest"},"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",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.18",os:"ubuntu-latest"}};var Ge={...z,...Fe},N=e=>e.reduce((t,r)=>{if(Ge[r]===void 0)throw new Error("Unknown version while computing matrix");return{magento:[...t.magento,r],include:[...t.include,Ge[r]]}},{magento:[],include:[]});var Je=["magento/project-community-edition"];var Ke=["magento/project-community-edition:>=2.3 <2.4","magento/project-community-edition:>=2.4.0 <2.4.1","magento/project-community-edition:>=2.4.1 <2.4.2","magento/project-community-edition:>=2.4.2 <2.4.3","magento/project-community-edition:>=2.4.3 <2.4.4","magento/project-community-edition:>=2.4.4 <2.4.5","magento/project-community-edition"];var ze=(e,t="")=>{switch(e){case"latest":return N(Je);case"currently-supported":return N(Ke);case"all":return N(Object.keys(z));case"custom":return N(t.split(","));default:throw new Error(`Unreachable kind: ${e} discovered, please report to the maintainers.`)}};async function Ye(){try{let e=A.getInput("kind");Ve(e);let t=A.getInput("custom_versions");A.setOutput("matrix",ze(e,t))}catch(e){A.setFailed(e.message)}}Ye();0&&(module.exports={run}); diff --git a/supported-version/src/kind/all.json b/supported-version/src/kind/all.json new file mode 100644 index 0000000..e69de29 diff --git a/supported-version/src/kind/compute-kind.ts b/supported-version/src/kind/compute-kind.ts index 5f36655..6bf51ee 100644 --- a/supported-version/src/kind/compute-kind.ts +++ b/supported-version/src/kind/compute-kind.ts @@ -5,6 +5,7 @@ export const KNOWN_KINDS = { 'currently-supported': true, 'latest': true, 'custom': true, + 'all': true, } export const isValidKind = (kind: string): boolean => { diff --git a/supported-version/src/matrix/get-matrix-for-kind.spec.ts b/supported-version/src/matrix/get-matrix-for-kind.spec.ts index 400f065..6c8a7d0 100644 --- a/supported-version/src/matrix/get-matrix-for-kind.spec.ts +++ b/supported-version/src/matrix/get-matrix-for-kind.spec.ts @@ -15,6 +15,13 @@ describe('getMatrixForKind', () => { expect(result.include).toBeDefined(); }); + it('returns a matrix for `all`', () => { + const result = getMatrixForKind("all"); + + expect(result.magento).toBeDefined(); + expect(result.include).toBeDefined(); + }); + it('returns a matrix for valid `custom`', () => { const result = getMatrixForKind("custom", "magento/project-community-edition:2.3.7-p3"); diff --git a/supported-version/src/matrix/get-matrix-for-kind.ts b/supported-version/src/matrix/get-matrix-for-kind.ts index d5be72b..f4b5fe2 100644 --- a/supported-version/src/matrix/get-matrix-for-kind.ts +++ b/supported-version/src/matrix/get-matrix-for-kind.ts @@ -2,6 +2,7 @@ import { getMatrixForVersions } from "./get-matrix-for-versions"; import latestJson from '../kind/latest.json'; import currentlySupportedJson from '../kind/currently-supported.json'; +import allVersions from '../versions/individual.json'; export const getMatrixForKind = (kind: string, versions: string = "") => { switch(kind){ @@ -9,6 +10,8 @@ export const getMatrixForKind = (kind: string, versions: string = "") => { return getMatrixForVersions(latestJson); case 'currently-supported': return getMatrixForVersions(currentlySupportedJson); + case 'all': + return getMatrixForVersions(Object.keys(allVersions)); case 'custom': return getMatrixForVersions(versions.split(",")) default: From bc25463d563bf7f45f59b98c61271c3a30046d8d Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Fri, 12 Aug 2022 08:10:54 -0400 Subject: [PATCH 2/4] ci: test internally against all versions --- .github/workflows/_internal-install.yaml | 2 ++ .github/workflows/_internal-integration.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/_internal-install.yaml b/.github/workflows/_internal-install.yaml index 45917c7..ba2ff68 100644 --- a/.github/workflows/_internal-install.yaml +++ b/.github/workflows/_internal-install.yaml @@ -29,6 +29,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./supported-version + with: + kind: all id: supported-version - run: echo ${{ steps.supported-version.outputs.matrix }} diff --git a/.github/workflows/_internal-integration.yaml b/.github/workflows/_internal-integration.yaml index 84a201f..01f26b0 100644 --- a/.github/workflows/_internal-integration.yaml +++ b/.github/workflows/_internal-integration.yaml @@ -29,6 +29,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./supported-version + with: + kind: all id: supported-version - run: echo ${{ steps.supported-version.outputs.matrix }} integration-workflow: From 6289e33244507580eadcbbf4d509ed57b096f820 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Fri, 12 Aug 2022 08:12:29 -0400 Subject: [PATCH 3/4] disable fail fast --- .github/workflows/_internal-install.yaml | 1 + .github/workflows/_internal-integration.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/_internal-install.yaml b/.github/workflows/_internal-install.yaml index ba2ff68..17b6c30 100644 --- a/.github/workflows/_internal-install.yaml +++ b/.github/workflows/_internal-install.yaml @@ -38,6 +38,7 @@ jobs: needs: compute_matrix strategy: matrix: ${{ fromJSON(needs.compute_matrix.outputs.matrix) }} + fail-fast: false runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/_internal-integration.yaml b/.github/workflows/_internal-integration.yaml index 01f26b0..27f5c85 100644 --- a/.github/workflows/_internal-integration.yaml +++ b/.github/workflows/_internal-integration.yaml @@ -41,3 +41,4 @@ jobs: source_folder: $GITHUB_WORKSPACE/_test/demo-package matrix: ${{ needs.compute_matrix.outputs.matrix }} test_command: ../../../vendor/bin/phpunit ../../../vendor/graycore/magento2-demo-package/Test/Integration + fail-fast: false From 5efcdc6c177211c8b1a9efadab72590bd1133c59 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Fri, 12 Aug 2022 08:22:15 -0400 Subject: [PATCH 4/4] remove all.json --- supported-version/src/kind/all.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 supported-version/src/kind/all.json diff --git a/supported-version/src/kind/all.json b/supported-version/src/kind/all.json deleted file mode 100644 index e69de29..0000000