From 03b8e6fa3b6072718c6886e2440ed5bbbcd231c7 Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Sun, 11 Jan 2026 07:37:07 +0100 Subject: [PATCH] Update: Renmaed input repo-name to repository. --- .gitea/workflows/test.yml | 6 +++--- README.md | 10 +++++----- action.yml | 2 +- dist/index.js | 2 +- src/index.ts | 8 ++++---- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 9c1079d..c7f79b7 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -11,20 +11,20 @@ jobs: - name: Go ACME Setup uses: ./ with: - repo-name: 'go-acme/lego' + repository: 'go-acme/lego' token: ${{ secrets.GH_TOKEN }} - name: Setup Hugo uses: ./ with: - repo-name: 'gohugoio/hugo' + repository: 'gohugoio/hugo' file-name: '~hugo_extended_[^a-z]' token: ${{ secrets.GH_TOKEN }} - name: Setup RClone uses: ./ with: - repo-name: 'rclone/rclone' + repository: 'rclone/rclone' token: ${{ secrets.GH_TOKEN }} - name: Verify Installation diff --git a/README.md b/README.md index 70b1aa4..3f1f7bc 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The action will automatically detect your OS (Linux, Windows, macOS) and archite - name: Install Hugo uses: koszewscy/setup-github-release@v1 with: - repo-name: 'go-acme/lego' + repository: 'go-acme/lego' ``` > **Note:** RClone is an example of a project that provides a binary in a subdirectory inside the archive. The action will find it automatically. @@ -32,7 +32,7 @@ For projects with multiple binary versions, you can use a regex pattern (prefixe - name: Install Extended Hugo uses: koszewscy/setup-github-release@v1 with: - repo-name: 'gohugoio/hugo' + repository: 'gohugoio/hugo' file-name: '~hugo_extended_[^a-z]' # Regex to match extended version ``` @@ -44,7 +44,7 @@ If the binary name is different from the repository name, like in the example of - name: Install GitHub CLI uses: koszewscy/setup-github-release@v1 with: - repo-name: 'cli/cli' + repository: 'cli/cli' binary-name: 'gh' # Searches for 'gh' (or 'gh.exe') inside the extracted release ``` @@ -55,13 +55,13 @@ If you are unsure how the binary is named, use the `debug` flag to list all file ```yaml - uses: koszewscy/setup-github-release@v1 with: - repo-name: 'owner/repo' + repository: 'owner/repo' debug: true ``` ## Inputs -- `repo-name` (required): GitHub repository in `owner/repo` format. +- `repository` (required): GitHub repository in `owner/repo` format. - `file-name` (optional): Literal name or regex pattern (if starts with `~`) to match the asset. - `binary-name` (optional): The name or regex pattern (if starts with `~`) of the binary to find. Defaults to the repository name. - `file-type` (optional, default: `archive`): Predefined keywords `archive`, `package`, or a custom regex pattern. diff --git a/action.yml b/action.yml index db59bdd..c97a4a0 100644 --- a/action.yml +++ b/action.yml @@ -2,7 +2,7 @@ name: 'setup-github-release' description: 'Install a tool from a GitHub release and add it to the PATH' author: 'Slawomir Koszewski with GitHub Copilot assistance' inputs: - repo-name: + repository: description: 'The GitHub repository name (e.g., owner/repo)' required: true file-name: diff --git a/dist/index.js b/dist/index.js index 1312f23..4447a36 100644 --- a/dist/index.js +++ b/dist/index.js @@ -59,7 +59,7 @@ ${e.format(t)} `);return{name:e,version:t}});P.platform=Nu.default.platform();P.arch=Nu.default.arch();P.isWindows=P.platform==="win32";P.isMacOS=P.platform==="darwin";P.isLinux=P.platform==="linux";function Db(){return so(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield P.isWindows?yb():P.isMacOS?pb():wb()),{platform:P.platform,arch:P.arch,isWindows:P.isWindows,isMacOS:P.isMacOS,isLinux:P.isLinux})})}P.getDetails=Db});var ns=h(D=>{"use strict";var Rb=D&&D.__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]})),Nb=D&&D.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Jg=D&&D.__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)&&Rb(e,A,t);return Nb(e,A),e},Fu=D&&D.__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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0});D.platform=D.toPlatformPath=D.toWin32Path=D.toPosixPath=D.markdownSummary=D.summary=D.getIDToken=D.getState=D.saveState=D.group=D.endGroup=D.startGroup=D.info=D.notice=D.warning=D.error=D.debug=D.isDebug=D.setFailed=D.setCommandEcho=D.setOutput=D.getBooleanInput=D.getMultilineInput=D.getInput=D.addPath=D.setSecret=D.exportVariable=D.ExitCode=void 0;var Se=nQ(),ar=aQ(),Es=ii(),ku=Jg(require("os")),mb=Jg(require("path")),Fb=nu(),Gg;(function(A){A[A.Success=0]="Success",A[A.Failure=1]="Failure"})(Gg||(D.ExitCode=Gg={}));function kb(A,e){let t=(0,Es.toCommandValue)(e);if(process.env[A]=t,process.env.GITHUB_ENV||"")return(0,ar.issueFileCommand)("ENV",(0,ar.prepareKeyValueMessage)(A,e));(0,Se.issueCommand)("set-env",{name:A},t)}D.exportVariable=kb;function bb(A){(0,Se.issueCommand)("add-mask",{},A)}D.setSecret=bb;function Sb(A){process.env.GITHUB_PATH||""?(0,ar.issueFileCommand)("PATH",A):(0,Se.issueCommand)("add-path",{},A),process.env.PATH=`${A}${mb.delimiter}${process.env.PATH}`}D.addPath=Sb;function vg(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()}D.getInput=vg;function Ub(A,e){let t=vg(A,e).split(` `).filter(r=>r!=="");return e&&e.trimWhitespace===!1?t:t.map(r=>r.trim())}D.getMultilineInput=Ub;function Lb(A,e){let t=["true","True","TRUE"],r=["false","False","FALSE"],s=vg(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\``)}D.getBooleanInput=Lb;function Mb(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,ar.issueFileCommand)("OUTPUT",(0,ar.prepareKeyValueMessage)(A,e));process.stdout.write(ku.EOL),(0,Se.issueCommand)("set-output",{name:A},(0,Es.toCommandValue)(e))}D.setOutput=Mb;function xb(A){(0,Se.issue)("echo",A?"on":"off")}D.setCommandEcho=xb;function Yb(A){process.exitCode=Gg.Failure,bu(A)}D.setFailed=Yb;function Tb(){return process.env.RUNNER_DEBUG==="1"}D.isDebug=Tb;function Gb(A){(0,Se.issueCommand)("debug",{},A)}D.debug=Gb;function bu(A,e={}){(0,Se.issueCommand)("error",(0,Es.toCommandProperties)(e),A instanceof Error?A.toString():A)}D.error=bu;function Jb(A,e={}){(0,Se.issueCommand)("warning",(0,Es.toCommandProperties)(e),A instanceof Error?A.toString():A)}D.warning=Jb;function vb(A,e={}){(0,Se.issueCommand)("notice",(0,Es.toCommandProperties)(e),A instanceof Error?A.toString():A)}D.notice=vb;function Hb(A){process.stdout.write(A+ku.EOL)}D.info=Hb;function Su(A){(0,Se.issue)("group",A)}D.startGroup=Su;function Uu(){(0,Se.issue)("endgroup")}D.endGroup=Uu;function Vb(A,e){return Fu(this,void 0,void 0,function*(){Su(A);let t;try{t=yield e()}finally{Uu()}return t})}D.group=Vb;function qb(A,e){if(process.env.GITHUB_STATE||"")return(0,ar.issueFileCommand)("STATE",(0,ar.prepareKeyValueMessage)(A,e));(0,Se.issueCommand)("save-state",{name:A},(0,Es.toCommandValue)(e))}D.saveState=qb;function Ob(A){return process.env[`STATE_${A}`]||""}D.getState=Ob;function Wb(A){return Fu(this,void 0,void 0,function*(){return yield Fb.OidcClient.getIDToken(A)})}D.getIDToken=Wb;var Pb=bg();Object.defineProperty(D,"summary",{enumerable:!0,get:function(){return Pb.summary}});var _b=bg();Object.defineProperty(D,"markdownSummary",{enumerable:!0,get:function(){return _b.markdownSummary}});var Hg=Eu();Object.defineProperty(D,"toPosixPath",{enumerable:!0,get:function(){return Hg.toPosixPath}});Object.defineProperty(D,"toWin32Path",{enumerable:!0,get:function(){return Hg.toWin32Path}});Object.defineProperty(D,"toPlatformPath",{enumerable:!0,get:function(){return Hg.toPlatformPath}});D.platform=Jg(mu())});var Zg=h((L,Tu)=>{L=Tu.exports=G;var z;typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?z=function(){var A=Array.prototype.slice.call(arguments,0);A.unshift("SEMVER"),console.log.apply(console,A)}:z=function(){};L.SEMVER_SPEC_VERSION="2.0.0";var Ai=256,io=Number.MAX_SAFE_INTEGER||9007199254740991,Vg=16,Xb=Ai-6,as=L.re=[],K=L.safeRe=[],l=L.src=[],I=L.tokens={},xu=0;function H(A){I[A]=xu++}var Og="[a-zA-Z0-9-]",qg=[["\\s",1],["\\d",Ai],[Og,Xb]];function ti(A){for(var e=0;e)?=?)";H("XRANGEIDENTIFIERLOOSE");l[I.XRANGEIDENTIFIERLOOSE]=l[I.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";H("XRANGEIDENTIFIER");l[I.XRANGEIDENTIFIER]=l[I.NUMERICIDENTIFIER]+"|x|X|\\*";H("XRANGEPLAIN");l[I.XRANGEPLAIN]="[v=\\s]*("+l[I.XRANGEIDENTIFIER]+")(?:\\.("+l[I.XRANGEIDENTIFIER]+")(?:\\.("+l[I.XRANGEIDENTIFIER]+")(?:"+l[I.PRERELEASE]+")?"+l[I.BUILD]+"?)?)?";H("XRANGEPLAINLOOSE");l[I.XRANGEPLAINLOOSE]="[v=\\s]*("+l[I.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+l[I.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+l[I.XRANGEIDENTIFIERLOOSE]+")(?:"+l[I.PRERELEASELOOSE]+")?"+l[I.BUILD]+"?)?)?";H("XRANGE");l[I.XRANGE]="^"+l[I.GTLT]+"\\s*"+l[I.XRANGEPLAIN]+"$";H("XRANGELOOSE");l[I.XRANGELOOSE]="^"+l[I.GTLT]+"\\s*"+l[I.XRANGEPLAINLOOSE]+"$";H("COERCE");l[I.COERCE]="(^|[^\\d])(\\d{1,"+Vg+"})(?:\\.(\\d{1,"+Vg+"}))?(?:\\.(\\d{1,"+Vg+"}))?(?:$|[^\\d])";H("COERCERTL");as[I.COERCERTL]=new RegExp(l[I.COERCE],"g");K[I.COERCERTL]=new RegExp(ti(l[I.COERCE]),"g");H("LONETILDE");l[I.LONETILDE]="(?:~>?)";H("TILDETRIM");l[I.TILDETRIM]="(\\s*)"+l[I.LONETILDE]+"\\s+";as[I.TILDETRIM]=new RegExp(l[I.TILDETRIM],"g");K[I.TILDETRIM]=new RegExp(ti(l[I.TILDETRIM]),"g");var Zb="$1~";H("TILDE");l[I.TILDE]="^"+l[I.LONETILDE]+l[I.XRANGEPLAIN]+"$";H("TILDELOOSE");l[I.TILDELOOSE]="^"+l[I.LONETILDE]+l[I.XRANGEPLAINLOOSE]+"$";H("LONECARET");l[I.LONECARET]="(?:\\^)";H("CARETTRIM");l[I.CARETTRIM]="(\\s*)"+l[I.LONECARET]+"\\s+";as[I.CARETTRIM]=new RegExp(l[I.CARETTRIM],"g");K[I.CARETTRIM]=new RegExp(ti(l[I.CARETTRIM]),"g");var jb="$1^";H("CARET");l[I.CARET]="^"+l[I.LONECARET]+l[I.XRANGEPLAIN]+"$";H("CARETLOOSE");l[I.CARETLOOSE]="^"+l[I.LONECARET]+l[I.XRANGEPLAINLOOSE]+"$";H("COMPARATORLOOSE");l[I.COMPARATORLOOSE]="^"+l[I.GTLT]+"\\s*("+l[I.LOOSEPLAIN]+")$|^$";H("COMPARATOR");l[I.COMPARATOR]="^"+l[I.GTLT]+"\\s*("+l[I.FULLPLAIN]+")$|^$";H("COMPARATORTRIM");l[I.COMPARATORTRIM]="(\\s*)"+l[I.GTLT]+"\\s*("+l[I.LOOSEPLAIN]+"|"+l[I.XRANGEPLAIN]+")";as[I.COMPARATORTRIM]=new RegExp(l[I.COMPARATORTRIM],"g");K[I.COMPARATORTRIM]=new RegExp(ti(l[I.COMPARATORTRIM]),"g");var Kb="$1$2$3";H("HYPHENRANGE");l[I.HYPHENRANGE]="^\\s*("+l[I.XRANGEPLAIN]+")\\s+-\\s+("+l[I.XRANGEPLAIN]+")\\s*$";H("HYPHENRANGELOOSE");l[I.HYPHENRANGELOOSE]="^\\s*("+l[I.XRANGEPLAINLOOSE]+")\\s+-\\s+("+l[I.XRANGEPLAINLOOSE]+")\\s*$";H("STAR");l[I.STAR]="(<|>)?=?\\s*\\*";for(it=0;itAi)return null;var t=e.loose?K[I.LOOSE]:K[I.FULL];if(!t.test(A))return null;try{return new G(A,e)}catch{return null}}L.valid=zb;function zb(A,e){var t=Qr(A,e);return t?t.version:null}L.clean=$b;function $b(A,e){var t=Qr(A.trim().replace(/^[=v]+/,""),e);return t?t.version:null}L.SemVer=G;function G(A,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),A instanceof G){if(A.loose===e.loose)return A;A=A.version}else if(typeof A!="string")throw new TypeError("Invalid Version: "+A);if(A.length>Ai)throw new TypeError("version is longer than "+Ai+" characters");if(!(this instanceof G))return new G(A,e);z("SemVer",A,e),this.options=e,this.loose=!!e.loose;var t=A.trim().match(e.loose?K[I.LOOSE]:K[I.FULL]);if(!t)throw new TypeError("Invalid Version: "+A);if(this.raw=A,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>io||this.major<0)throw new TypeError("Invalid major version");if(this.minor>io||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>io||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(function(r){if(/^[0-9]+$/.test(r)){var s=+r;if(s>=0&&s=0;)typeof this.prerelease[t]=="number"&&(this.prerelease[t]++,t=-2);t===-1&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: "+A)}return this.format(),this.raw=this.version,this};L.inc=AS;function AS(A,e,t,r){typeof t=="string"&&(r=t,t=void 0);try{return new G(A,t).inc(e,r).version}catch{return null}}L.diff=eS;function eS(A,e){if(Wg(A,e))return null;var t=Qr(A),r=Qr(e),s="";if(t.prerelease.length||r.prerelease.length){s="pre";var i="prerelease"}for(var n in t)if((n==="major"||n==="minor"||n==="patch")&&t[n]!==r[n])return s+n;return i}L.compareIdentifiers=gr;var Lu=/^[0-9]+$/;function gr(A,e){var t=Lu.test(A),r=Lu.test(e);return t&&r&&(A=+A,e=+e),A===e?0:t&&!r?-1:r&&!t?1:A0}L.lt=no;function no(A,e,t){return yt(A,e,t)<0}L.eq=Wg;function Wg(A,e,t){return yt(A,e,t)===0}L.neq=Yu;function Yu(A,e,t){return yt(A,e,t)!==0}L.gte=Pg;function Pg(A,e,t){return yt(A,e,t)>=0}L.lte=_g;function _g(A,e,t){return yt(A,e,t)<=0}L.cmp=oo;function oo(A,e,t,r){switch(e){case"===":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A===t;case"!==":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A!==t;case"":case"=":case"==":return Wg(A,t,r);case"!=":return Yu(A,t,r);case">":return ei(A,t,r);case">=":return Pg(A,t,r);case"<":return no(A,t,r);case"<=":return _g(A,t,r);default:throw new TypeError("Invalid operator: "+e)}}L.Comparator=Ue;function Ue(A,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),A instanceof Ue){if(A.loose===!!e.loose)return A;A=A.value}if(!(this instanceof Ue))return new Ue(A,e);A=A.trim().split(/\s+/).join(" "),z("comparator",A,e),this.options=e,this.loose=!!e.loose,this.parse(A),this.semver===gs?this.value="":this.value=this.operator+this.semver.version,z("comp",this)}var gs={};Ue.prototype.parse=function(A){var e=this.options.loose?K[I.COMPARATORLOOSE]:K[I.COMPARATOR],t=A.match(e);if(!t)throw new TypeError("Invalid comparator: "+A);this.operator=t[1]!==void 0?t[1]:"",this.operator==="="&&(this.operator=""),t[2]?this.semver=new G(t[2],this.options.loose):this.semver=gs};Ue.prototype.toString=function(){return this.value};Ue.prototype.test=function(A){if(z("Comparator.test",A,this.options.loose),this.semver===gs||A===gs)return!0;if(typeof A=="string")try{A=new G(A,this.options)}catch{return!1}return oo(A,this.operator,this.semver,this.options)};Ue.prototype.intersects=function(A,e){if(!(A instanceof Ue))throw new TypeError("a Comparator is required");(!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1});var t;if(this.operator==="")return this.value===""?!0:(t=new BA(A.value,e),Eo(this.value,t,e));if(A.operator==="")return A.value===""?!0:(t=new BA(this.value,e),Eo(A.semver,t,e));var r=(this.operator===">="||this.operator===">")&&(A.operator===">="||A.operator===">"),s=(this.operator==="<="||this.operator==="<")&&(A.operator==="<="||A.operator==="<"),i=this.semver.version===A.semver.version,n=(this.operator===">="||this.operator==="<=")&&(A.operator===">="||A.operator==="<="),o=oo(this.semver,"<",A.semver,e)&&(this.operator===">="||this.operator===">")&&(A.operator==="<="||A.operator==="<"),E=oo(this.semver,">",A.semver,e)&&(this.operator==="<="||this.operator==="<")&&(A.operator===">="||A.operator===">");return r||s||i&&n||o||E};L.Range=BA;function BA(A,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),A instanceof BA)return A.loose===!!e.loose&&A.includePrerelease===!!e.includePrerelease?A:new BA(A.raw,e);if(A instanceof Ue)return new BA(A.value,e);if(!(this instanceof BA))return new BA(A,e);if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=A.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(function(t){return this.parseRange(t.trim())},this).filter(function(t){return t.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}BA.prototype.format=function(){return this.range=this.set.map(function(A){return A.join(" ").trim()}).join("||").trim(),this.range};BA.prototype.toString=function(){return this.range};BA.prototype.parseRange=function(A){var e=this.options.loose,t=e?K[I.HYPHENRANGELOOSE]:K[I.HYPHENRANGE];A=A.replace(t,dS),z("hyphen replace",A),A=A.replace(K[I.COMPARATORTRIM],Kb),z("comparator trim",A,K[I.COMPARATORTRIM]),A=A.replace(K[I.TILDETRIM],Zb),A=A.replace(K[I.CARETTRIM],jb),A=A.split(/\s+/).join(" ");var r=e?K[I.COMPARATORLOOSE]:K[I.COMPARATOR],s=A.split(" ").map(function(i){return cS(i,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter(function(i){return!!i.match(r)})),s=s.map(function(i){return new Ue(i,this.options)},this),s};BA.prototype.intersects=function(A,e){if(!(A instanceof BA))throw new TypeError("a Range is required");return this.set.some(function(t){return Mu(t,e)&&A.set.some(function(r){return Mu(r,e)&&t.every(function(s){return r.every(function(i){return s.intersects(i,e)})})})})};function Mu(A,e){for(var t=!0,r=A.slice(),s=r.pop();t&&r.length;)t=r.every(function(i){return s.intersects(i,e)}),s=r.pop();return t}L.toComparators=QS;function QS(A,e){return new BA(A,e).set.map(function(t){return t.map(function(r){return r.value}).join(" ").trim().split(" ")})}function cS(A,e){return z("comp",A,e),A=IS(A,e),z("caret",A),A=CS(A,e),z("tildes",A),A=lS(A,e),z("xrange",A),A=fS(A,e),z("stars",A),A}function jA(A){return!A||A.toLowerCase()==="x"||A==="*"}function CS(A,e){return A.trim().split(/\s+/).map(function(t){return BS(t,e)}).join(" ")}function BS(A,e){var t=e.loose?K[I.TILDELOOSE]:K[I.TILDE];return A.replace(t,function(r,s,i,n,o){z("tilde",A,r,s,i,n,o);var E;return jA(s)?E="":jA(i)?E=">="+s+".0.0 <"+(+s+1)+".0.0":jA(n)?E=">="+s+"."+i+".0 <"+s+"."+(+i+1)+".0":o?(z("replaceTilde pr",o),E=">="+s+"."+i+"."+n+"-"+o+" <"+s+"."+(+i+1)+".0"):E=">="+s+"."+i+"."+n+" <"+s+"."+(+i+1)+".0",z("tilde return",E),E})}function IS(A,e){return A.trim().split(/\s+/).map(function(t){return hS(t,e)}).join(" ")}function hS(A,e){z("caret",A,e);var t=e.loose?K[I.CARETLOOSE]:K[I.CARET];return A.replace(t,function(r,s,i,n,o){z("caret",A,r,s,i,n,o);var E;return jA(s)?E="":jA(i)?E=">="+s+".0.0 <"+(+s+1)+".0.0":jA(n)?s==="0"?E=">="+s+"."+i+".0 <"+s+"."+(+i+1)+".0":E=">="+s+"."+i+".0 <"+(+s+1)+".0.0":o?(z("replaceCaret pr",o),s==="0"?i==="0"?E=">="+s+"."+i+"."+n+"-"+o+" <"+s+"."+i+"."+(+n+1):E=">="+s+"."+i+"."+n+"-"+o+" <"+s+"."+(+i+1)+".0":E=">="+s+"."+i+"."+n+"-"+o+" <"+(+s+1)+".0.0"):(z("no pr"),s==="0"?i==="0"?E=">="+s+"."+i+"."+n+" <"+s+"."+i+"."+(+n+1):E=">="+s+"."+i+"."+n+" <"+s+"."+(+i+1)+".0":E=">="+s+"."+i+"."+n+" <"+(+s+1)+".0.0"),z("caret return",E),E})}function lS(A,e){return z("replaceXRanges",A,e),A.split(/\s+/).map(function(t){return uS(t,e)}).join(" ")}function uS(A,e){A=A.trim();var t=e.loose?K[I.XRANGELOOSE]:K[I.XRANGE];return A.replace(t,function(r,s,i,n,o,E){z("xRange",A,r,s,i,n,o,E);var g=jA(i),a=g||jA(n),Q=a||jA(o),c=Q;return s==="="&&c&&(s=""),E=e.includePrerelease?"-0":"",g?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&c?(a&&(n=0),o=0,s===">"?(s=">=",a?(i=+i+1,n=0,o=0):(n=+n+1,o=0)):s==="<="&&(s="<",a?i=+i+1:n=+n+1),r=s+i+"."+n+"."+o+E):a?r=">="+i+".0.0"+E+" <"+(+i+1)+".0.0"+E:Q&&(r=">="+i+"."+n+".0"+E+" <"+i+"."+(+n+1)+".0"+E),z("xRange return",r),r})}function fS(A,e){return z("replaceStars",A,e),A.trim().replace(K[I.STAR],"")}function dS(A,e,t,r,s,i,n,o,E,g,a,Q,c){return jA(t)?e="":jA(r)?e=">="+t+".0.0":jA(s)?e=">="+t+"."+r+".0":e=">="+e,jA(E)?o="":jA(g)?o="<"+(+E+1)+".0.0":jA(a)?o="<"+E+"."+(+g+1)+".0":Q?o="<="+E+"."+g+"."+a+"-"+Q:o="<="+o,(e+" "+o).trim()}BA.prototype.test=function(A){if(!A)return!1;if(typeof A=="string")try{A=new G(A,this.options)}catch{return!1}for(var e=0;e0){var s=A[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}L.satisfies=Eo;function Eo(A,e,t){try{e=new BA(e,t)}catch{return!1}return e.test(A)}L.maxSatisfying=pS;function pS(A,e,t){var r=null,s=null;try{var i=new BA(e,t)}catch{return null}return A.forEach(function(n){i.test(n)&&(!r||s.compare(n)===-1)&&(r=n,s=new G(r,t))}),r}L.minSatisfying=wS;function wS(A,e,t){var r=null,s=null;try{var i=new BA(e,t)}catch{return null}return A.forEach(function(n){i.test(n)&&(!r||s.compare(n)===1)&&(r=n,s=new G(r,t))}),r}L.minVersion=DS;function DS(A,e){A=new BA(A,e);var t=new G("0.0.0");if(A.test(t)||(t=new G("0.0.0-0"),A.test(t)))return t;t=null;for(var r=0;r":n.prerelease.length===0?n.patch++:n.prerelease.push(0),n.raw=n.format();case"":case">=":(!t||ei(t,n))&&(t=n);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+i.operator)}})}return t&&A.test(t)?t:null}L.validRange=RS;function RS(A,e){try{return new BA(A,e).range||"*"}catch{return null}}L.ltr=NS;function NS(A,e,t){return Xg(A,e,"<",t)}L.gtr=mS;function mS(A,e,t){return Xg(A,e,">",t)}L.outside=Xg;function Xg(A,e,t,r){A=new G(A,r),e=new BA(e,r);var s,i,n,o,E;switch(t){case">":s=ei,i=_g,n=no,o=">",E=">=";break;case"<":s=no,i=Pg,n=ei,o="<",E="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Eo(A,e,r))return!1;for(var g=0;g=0.0.0")),Q=Q||B,c=c||B,s(B.semver,Q.semver,r)?Q=B:n(B.semver,c.semver,r)&&(c=B)}),Q.operator===o||Q.operator===E||(!c.operator||c.operator===o)&&i(A,c.semver))return!1;if(c.operator===E&&n(A,c.semver))return!1}return!0}L.prerelease=FS;function FS(A,e){var t=Qr(A,e);return t&&t.prerelease.length?t.prerelease:null}L.intersects=kS;function kS(A,e,t){return A=new BA(A,t),e=new BA(e,t),A.intersects(e)}L.coerce=bS;function bS(A,e){if(A instanceof G)return A;if(typeof A=="number"&&(A=String(A)),typeof A!="string")return null;e=e||{};var t=null;if(!e.rtl)t=A.match(K[I.COERCE]);else{for(var r;(r=K[I.COERCERTL].exec(A))&&(!t||t.index+t[0].length!==A.length);)(!t||r.index+r[0].length!==t.index+t[0].length)&&(t=r),K[I.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;K[I.COERCERTL].lastIndex=-1}return t===null?null:Qr(t[2]+"."+(t[3]||"0")+"."+(t[4]||"0"),e)}});var vu=h((VA,Kg)=>{"use strict";var SS=VA&&VA.__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]})),US=VA&&VA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),LS=VA&&VA.__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)&&SS(e,A,t);return US(e,A),e},MS=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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(VA,"__esModule",{value:!0});VA._readLinuxVersionFile=VA._getOsVersion=VA._findMatch=void 0;var Gu=LS(Zg()),jg=ns(),Ju=require("os"),xS=require("child_process"),ao=require("fs");function YS(A,e,t,r){return MS(this,void 0,void 0,function*(){let s=Ju.platform(),i,n,o;for(let E of t){let g=E.version;if((0,jg.debug)(`check ${g} satisfies ${A}`),Gu.satisfies(g,A)&&(!e||E.stable===e)&&(o=E.files.find(a=>{(0,jg.debug)(`${a.arch}===${r} && ${a.platform}===${s}`);let Q=a.arch===r&&a.platform===s;if(Q&&a.platform_version){let c=Kg.exports._getOsVersion();c===a.platform_version?Q=!0:Q=Gu.satisfies(c,a.platform_version)}return Q}),o)){(0,jg.debug)(`matched ${E.version}`),n=E;break}}return n&&o&&(i=Object.assign({},n),i.files=[o]),i})}VA._findMatch=YS;function TS(){let A=Ju.platform(),e="";if(A==="darwin")e=xS.execSync("sw_vers -productVersion").toString();else if(A==="linux"){let t=Kg.exports._readLinuxVersionFile();if(t){let r=t.split(` -`);for(let s of r){let i=s.split("=");if(i.length===2&&(i[0].trim()==="VERSION_ID"||i[0].trim()==="DISTRIB_RELEASE")){e=i[1].trim().replace(/^"/,"").replace(/"$/,"");break}}}}return e}VA._getOsVersion=TS;function GS(){let A="/etc/lsb-release",e="/etc/os-release",t="";return ao.existsSync(A)?t=ao.readFileSync(A).toString():ao.existsSync(e)&&(t=ao.readFileSync(e).toString()),t}VA._readLinuxVersionFile=GS});var qu=h(Le=>{"use strict";var JS=Le&&Le.__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]})),vS=Le&&Le.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),HS=Le&&Le.__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)&&JS(e,A,t);return vS(e,A),e},Hu=Le&&Le.__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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Le,"__esModule",{value:!0});Le.RetryHelper=void 0;var Vu=HS(ns()),zg=class{constructor(e,t,r){if(e<1)throw new Error("max attempts should be greater than or equal to 1");if(this.maxAttempts=e,this.minSeconds=Math.floor(t),this.maxSeconds=Math.floor(r),this.minSeconds>this.maxSeconds)throw new Error("min seconds should be less than or equal to max seconds")}execute(e,t){return Hu(this,void 0,void 0,function*(){let r=1;for(;rsetTimeout(t,e*1e3))})}};Le.RetryHelper=zg});var Ku=h(V=>{"use strict";var VS=V&&V.__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]})),qS=V&&V.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Ve=V&&V.__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)&&VS(e,A,t);return qS(e,A),e},KA=V&&V.__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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(V,"__esModule",{value:!0});V.evaluateVersions=V.isExplicitVersion=V.findFromManifest=V.getManifestFromRepo=V.findAllVersions=V.find=V.cacheFile=V.cacheDir=V.extractZip=V.extractXar=V.extractTar=V.extract7z=V.downloadTool=V.HTTPError=void 0;var _=Ve(ns()),de=Ve(Mg()),Ou=Ve(require("crypto")),Me=Ve(require("fs")),OS=Ve(vu()),si=Ve(require("os")),He=Ve(require("path")),Wu=Ve(yg()),pt=Ve(Zg()),WS=Ve(require("stream")),PS=Ve(require("util")),Qs=require("assert"),Jt=Tg(),_S=qu(),ri=class extends Error{constructor(e){super(`Unexpected HTTP response: ${e}`),this.httpStatusCode=e,Object.setPrototypeOf(this,new.target.prototype)}};V.HTTPError=ri;var AQ=process.platform==="win32",XS=process.platform==="darwin",ZS="actions/tool-cache";function jS(A,e,t,r){return KA(this,void 0,void 0,function*(){e=e||He.join(ju(),Ou.randomUUID()),yield de.mkdirP(He.dirname(e)),_.debug(`Downloading ${A}`),_.debug(`Destination ${e}`);let s=3,i=$g("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS",10),n=$g("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS",20);return yield new _S.RetryHelper(s,i,n).execute(()=>KA(this,void 0,void 0,function*(){return yield KS(A,e||"",t,r)}),E=>!(E instanceof ri&&E.httpStatusCode&&E.httpStatusCode<500&&E.httpStatusCode!==408&&E.httpStatusCode!==429))})}V.downloadTool=jS;function KS(A,e,t,r){return KA(this,void 0,void 0,function*(){if(Me.existsSync(e))throw new Error(`Destination file path ${e} already exists`);let s=new Wu.HttpClient(ZS,[],{allowRetries:!1});t&&(_.debug("set auth"),r===void 0&&(r={}),r.authorization=t);let i=yield s.get(A,r);if(i.message.statusCode!==200){let a=new ri(i.message.statusCode);throw _.debug(`Failed to download from "${A}". Code(${i.message.statusCode}) Message(${i.message.statusMessage})`),a}let n=PS.promisify(WS.pipeline),E=$g("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY",()=>i.message)(),g=!1;try{return yield n(E,Me.createWriteStream(e)),_.debug("download complete"),g=!0,e}finally{if(!g){_.debug("download failed");try{yield de.rmRF(e)}catch(a){_.debug(`Failed to delete '${e}'. ${a.message}`)}}}})}function zS(A,e,t){return KA(this,void 0,void 0,function*(){(0,Qs.ok)(AQ,"extract7z() not supported on current OS"),(0,Qs.ok)(A,'parameter "file" is required'),e=yield go(e);let r=process.cwd();if(process.chdir(e),t)try{let i=["x",_.isDebug()?"-bb1":"-bb0","-bd","-sccUTF-8",A],n={silent:!0};yield(0,Jt.exec)(`"${t}"`,i,n)}finally{process.chdir(r)}else{let s=He.join(__dirname,"..","scripts","Invoke-7zdec.ps1").replace(/'/g,"''").replace(/"|\n|\r/g,""),i=A.replace(/'/g,"''").replace(/"|\n|\r/g,""),n=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),E=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${s}' -Source '${i}' -Target '${n}'`],g={silent:!0};try{let a=yield de.which("powershell",!0);yield(0,Jt.exec)(`"${a}"`,E,g)}finally{process.chdir(r)}}return e})}V.extract7z=zS;function $S(A,e,t="xz"){return KA(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'file' is required");e=yield go(e),_.debug("Checking tar --version");let r="";yield(0,Jt.exec)("tar --version",[],{ignoreReturnCode:!0,silent:!0,listeners:{stdout:E=>r+=E.toString(),stderr:E=>r+=E.toString()}}),_.debug(r.trim());let s=r.toUpperCase().includes("GNU TAR"),i;t instanceof Array?i=t:i=[t],_.isDebug()&&!t.includes("v")&&i.push("-v");let n=e,o=A;return AQ&&s&&(i.push("--force-local"),n=e.replace(/\\/g,"/"),o=A.replace(/\\/g,"/")),s&&(i.push("--warning=no-unknown-keyword"),i.push("--overwrite")),i.push("-C",n,"-f",o),yield(0,Jt.exec)("tar",i),e})}V.extractTar=$S;function AU(A,e,t=[]){return KA(this,void 0,void 0,function*(){(0,Qs.ok)(XS,"extractXar() not supported on current OS"),(0,Qs.ok)(A,'parameter "file" is required'),e=yield go(e);let r;t instanceof Array?r=t:r=[t],r.push("-x","-C",e,"-f",A),_.isDebug()&&r.push("-v");let s=yield de.which("xar",!0);return yield(0,Jt.exec)(`"${s}"`,aU(r)),e})}V.extractXar=AU;function eU(A,e){return KA(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'file' is required");return e=yield go(e),AQ?yield tU(A,e):yield rU(A,e),e})}V.extractZip=eU;function tU(A,e){return KA(this,void 0,void 0,function*(){let t=A.replace(/'/g,"''").replace(/"|\n|\r/g,""),r=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),s=yield de.which("pwsh",!1);if(s){let n=["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",["$ErrorActionPreference = 'Stop' ;","try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;",`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${t}', '${r}', $true) }`,`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${t}' -DestinationPath '${r}' -Force } else { throw $_ } } ;`].join(" ")];_.debug(`Using pwsh at path: ${s}`),yield(0,Jt.exec)(`"${s}"`,n)}else{let n=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",["$ErrorActionPreference = 'Stop' ;","try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;",`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${t}' -DestinationPath '${r}' -Force }`,`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${t}', '${r}', $true) }`].join(" ")],o=yield de.which("powershell",!0);_.debug(`Using powershell at path: ${o}`),yield(0,Jt.exec)(`"${o}"`,n)}})}function rU(A,e){return KA(this,void 0,void 0,function*(){let t=yield de.which("unzip",!0),r=[A];_.isDebug()||r.unshift("-q"),r.unshift("-o"),yield(0,Jt.exec)(`"${t}"`,r,{cwd:e})})}function sU(A,e,t,r){return KA(this,void 0,void 0,function*(){if(t=pt.clean(t)||t,r=r||si.arch(),_.debug(`Caching tool ${e} ${t} ${r}`),_.debug(`source dir: ${A}`),!Me.statSync(A).isDirectory())throw new Error("sourceDir is not a directory");let s=yield _u(e,t,r);for(let i of Me.readdirSync(A)){let n=He.join(A,i);yield de.cp(n,s,{recursive:!0})}return Xu(e,t,r),s})}V.cacheDir=sU;function iU(A,e,t,r,s){return KA(this,void 0,void 0,function*(){if(r=pt.clean(r)||r,s=s||si.arch(),_.debug(`Caching tool ${t} ${r} ${s}`),_.debug(`source file: ${A}`),!Me.statSync(A).isFile())throw new Error("sourceFile is not a file");let i=yield _u(t,r,s),n=He.join(i,e);return _.debug(`destination file ${n}`),yield de.cp(A,n),Xu(t,r,s),i})}V.cacheFile=iU;function nU(A,e,t){if(!A)throw new Error("toolName parameter is required");if(!e)throw new Error("versionSpec parameter is required");if(t=t||si.arch(),!eQ(e)){let s=Pu(A,t);e=Zu(s,e)}let r="";if(e){e=pt.clean(e)||"";let s=He.join(Qo(),A,e,t);_.debug(`checking cache: ${s}`),Me.existsSync(s)&&Me.existsSync(`${s}.complete`)?(_.debug(`Found tool in cache ${A} ${e} ${t}`),r=s):_.debug("not found")}return r}V.find=nU;function Pu(A,e){let t=[];e=e||si.arch();let r=He.join(Qo(),A);if(Me.existsSync(r)){let s=Me.readdirSync(r);for(let i of s)if(eQ(i)){let n=He.join(r,i,e||"");Me.existsSync(n)&&Me.existsSync(`${n}.complete`)&&t.push(i)}}return t}V.findAllVersions=Pu;function oU(A,e,t,r="master"){return KA(this,void 0,void 0,function*(){let s=[],i=`https://api.github.com/repos/${A}/${e}/git/trees/${r}`,n=new Wu.HttpClient("tool-cache"),o={};t&&(_.debug("set auth"),o.authorization=t);let E=yield n.getJson(i,o);if(!E.result)return s;let g="";for(let Q of E.result.tree)if(Q.path==="versions-manifest.json"){g=Q.url;break}o.accept="application/vnd.github.VERSION.raw";let a=yield(yield n.get(g,o)).readBody();if(a){a=a.replace(/^\uFEFF/,"");try{s=JSON.parse(a)}catch{_.debug("Invalid json")}}return s})}V.getManifestFromRepo=oU;function EU(A,e,t,r=si.arch()){return KA(this,void 0,void 0,function*(){return yield OS._findMatch(A,e,t,r)})}V.findFromManifest=EU;function go(A){return KA(this,void 0,void 0,function*(){return A||(A=He.join(ju(),Ou.randomUUID())),yield de.mkdirP(A),A})}function _u(A,e,t){return KA(this,void 0,void 0,function*(){let r=He.join(Qo(),A,pt.clean(e)||e,t||"");_.debug(`destination ${r}`);let s=`${r}.complete`;return yield de.rmRF(r),yield de.rmRF(s),yield de.mkdirP(r),r})}function Xu(A,e,t){let s=`${He.join(Qo(),A,pt.clean(e)||e,t||"")}.complete`;Me.writeFileSync(s,""),_.debug("finished caching tool")}function eQ(A){let e=pt.clean(A)||"";_.debug(`isExplicit: ${e}`);let t=pt.valid(e)!=null;return _.debug(`explicit? ${t}`),t}V.isExplicitVersion=eQ;function Zu(A,e){let t="";_.debug(`evaluating ${A.length} versions`),A=A.sort((r,s)=>pt.gt(r,s)?1:-1);for(let r=A.length-1;r>=0;r--){let s=A[r];if(pt.satisfies(s,e)){t=s;break}}return t?_.debug(`matched: ${t}`):_.debug("match not found"),t}V.evaluateVersions=Zu;function Qo(){let A=process.env.RUNNER_TOOL_CACHE||"";return(0,Qs.ok)(A,"Expected RUNNER_TOOL_CACHE to be defined"),A}function ju(){let A=process.env.RUNNER_TEMP||"";return(0,Qs.ok)(A,"Expected RUNNER_TEMP to be defined"),A}function $g(A,e){let t=global[A];return t!==void 0?t:e}function aU(A){return Array.from(new Set(A))}});var rA=cs(ns()),ae=cs(Ku()),cr=cs(require("path")),co=cs(require("os")),ye=cs(require("fs"));function zu(A,e,t){let r=ye.readdirSync(A);t&&(rA.info(`Searching for binary in ${A}...`),r.forEach(s=>rA.info(` - ${s}`)));for(let s of r){let i=cr.join(A,s);if(ye.statSync(i).isDirectory()){let o=zu(i,e,t);if(o)return o}else{let o=!1;if(e instanceof RegExp?o=e.test(s):(o=s===e,!o&&process.platform==="win32"&&!e.toLowerCase().endsWith(".exe")&&(o=s.toLowerCase()===`${e.toLowerCase()}.exe`)),o)return i}}}async function gU(){try{let A=rA.getInput("repo-name",{required:!0}),e=rA.getInput("file-name"),t=rA.getInput("binary-name"),r=rA.getInput("file-type")||"archive",s=rA.getBooleanInput("debug"),i=rA.getInput("token")||process.env.GITHUB_TOKEN,n=co.platform(),o=co.arch(),E={linux:"linux",darwin:"(darwin|macos|mac)",win32:"(windows|win)"},g={x64:"(x86_64|x64|amd64)",arm64:"(aarch64|arm64)"},a=E[n]||n,Q=g[o]||o,c;r==="archive"?c="\\.(zip|tar\\.gz|tar|tgz|7z)":r==="package"?c="\\.(deb|rpm|pkg)":c=r;let B=`https://api.github.com/repos/${A}/releases/latest`,C={Accept:"application/vnd.github.v3+json","User-Agent":"setup-github-release-action"};i&&(C.Authorization=`token ${i}`),rA.info(`Fetching latest release information for ${A}...`);let f=await fetch(B,{headers:C});if(!f.ok)throw new Error(`Failed to fetch release: ${f.statusText} (${f.status})`);let u=await f.json(),d;if(e)if(e.startsWith("~")){let J=e.substring(1),mA=J.includes("{{SYSTEM}}"),TA=J.includes("{{ARCH}}"),DA=J.includes("{{EXT_PATTERN}}"),vt=J.endsWith("$");!mA&&!TA&&!DA&&!vt?J+=".*{{SYSTEM}}[_-]{{ARCH}}.*{{EXT_PATTERN}}$":mA&&TA&&!DA&&!vt&&(J+=".*{{EXT_PATTERN}}$");let wt=J.replace(/{{SYSTEM}}/g,a).replace(/{{ARCH}}/g,Q).replace(/{{EXT_PATTERN}}/g,c),Ht=new RegExp(wt,"i");rA.info(`Using regex pattern: ${wt}`);let qe=u.assets.filter(Vt=>Ht.test(Vt.name));if(qe.length===0)throw new Error(`No assets matched the regex: ${wt}`);if(qe.length>1)throw new Error(`Multiple assets matched the criteria: ${qe.map(Vt=>Vt.name).join(", ")}`);d=qe[0]}else rA.info(`Using literal match for: ${e}`),d=u.assets.find(J=>J.name===e);else{let J=`${a}[_-]${Q}.*${c}$`,mA=new RegExp(J,"i");rA.info(`No file-name provided. Using default pattern: ${J}`);let TA=u.assets.filter(DA=>mA.test(DA.name));if(TA.length===0)throw new Error(`No assets matched the default criteria: ${J}`);if(TA.length>1)throw new Error(`Multiple assets matched the default criteria: ${TA.map(DA=>DA.name).join(", ")}`);d=TA[0]}if(!d)throw new Error(`No asset found matching the criteria in release ${u.tag_name}`);let R=u.tag_name.replace(/^v/,""),F=A.split("/").pop()||A,x=t||F,pA=ae.find(F,R,o);if(pA){rA.info(`Found ${F} version ${R} in cache at ${pA}`),rA.addPath(pA);return}let wA=d.browser_download_url;rA.info(`Downloading ${d.name} from ${wA}...`);let sA=await ae.downloadTool(wA),uA=d.name.toLowerCase(),oA;if(/\.(tar\.gz|tar|tgz)$/i.test(uA))oA=await ae.extractTar(sA);else if(/\.zip$/i.test(uA))oA=await ae.extractZip(sA);else if(/\.7z$/i.test(uA))oA=await ae.extract7z(sA);else if(/\.(xar|pkg)$/i.test(uA))oA=await ae.extractXar(sA);else{oA=cr.join(cr.dirname(sA),"bin");let J=cr.join(oA,d.name);ye.existsSync(oA)||ye.mkdirSync(oA,{recursive:!0}),ye.renameSync(sA,J),process.platform!=="win32"&&ye.chmodSync(J,"755")}let UA;x.startsWith("~")?(UA=new RegExp(x.substring(1),"i"),rA.info(`Searching for binary matching regex: ${x.substring(1)}`)):(UA=x,rA.info(`Searching for binary named: ${x}`));let kA=zu(oA,UA,s);if(!kA)throw new Error(`Could not find binary "${x}" in the extracted asset.`);oA=cr.dirname(kA),rA.info(`Binary found at ${kA}. Setting tool directory to ${oA}`),process.platform!=="win32"&&ye.chmodSync(kA,"755");let q=await ae.cacheDir(oA,F,R,o);rA.info(`Cached ${F} version ${R} to ${q}`),rA.addPath(q),rA.info(`Added ${q} to PATH`)}catch(A){A instanceof Error&&rA.setFailed(A.message)}}gU(); +`);for(let s of r){let i=s.split("=");if(i.length===2&&(i[0].trim()==="VERSION_ID"||i[0].trim()==="DISTRIB_RELEASE")){e=i[1].trim().replace(/^"/,"").replace(/"$/,"");break}}}}return e}VA._getOsVersion=TS;function GS(){let A="/etc/lsb-release",e="/etc/os-release",t="";return ao.existsSync(A)?t=ao.readFileSync(A).toString():ao.existsSync(e)&&(t=ao.readFileSync(e).toString()),t}VA._readLinuxVersionFile=GS});var qu=h(Le=>{"use strict";var JS=Le&&Le.__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]})),vS=Le&&Le.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),HS=Le&&Le.__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)&&JS(e,A,t);return vS(e,A),e},Hu=Le&&Le.__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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Le,"__esModule",{value:!0});Le.RetryHelper=void 0;var Vu=HS(ns()),zg=class{constructor(e,t,r){if(e<1)throw new Error("max attempts should be greater than or equal to 1");if(this.maxAttempts=e,this.minSeconds=Math.floor(t),this.maxSeconds=Math.floor(r),this.minSeconds>this.maxSeconds)throw new Error("min seconds should be less than or equal to max seconds")}execute(e,t){return Hu(this,void 0,void 0,function*(){let r=1;for(;rsetTimeout(t,e*1e3))})}};Le.RetryHelper=zg});var Ku=h(V=>{"use strict";var VS=V&&V.__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]})),qS=V&&V.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Ve=V&&V.__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)&&VS(e,A,t);return qS(e,A),e},KA=V&&V.__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(a){try{g(r.next(a))}catch(Q){n(Q)}}function E(a){try{g(r.throw(a))}catch(Q){n(Q)}}function g(a){a.done?i(a.value):s(a.value).then(o,E)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(V,"__esModule",{value:!0});V.evaluateVersions=V.isExplicitVersion=V.findFromManifest=V.getManifestFromRepo=V.findAllVersions=V.find=V.cacheFile=V.cacheDir=V.extractZip=V.extractXar=V.extractTar=V.extract7z=V.downloadTool=V.HTTPError=void 0;var _=Ve(ns()),de=Ve(Mg()),Ou=Ve(require("crypto")),Me=Ve(require("fs")),OS=Ve(vu()),si=Ve(require("os")),He=Ve(require("path")),Wu=Ve(yg()),pt=Ve(Zg()),WS=Ve(require("stream")),PS=Ve(require("util")),Qs=require("assert"),Jt=Tg(),_S=qu(),ri=class extends Error{constructor(e){super(`Unexpected HTTP response: ${e}`),this.httpStatusCode=e,Object.setPrototypeOf(this,new.target.prototype)}};V.HTTPError=ri;var AQ=process.platform==="win32",XS=process.platform==="darwin",ZS="actions/tool-cache";function jS(A,e,t,r){return KA(this,void 0,void 0,function*(){e=e||He.join(ju(),Ou.randomUUID()),yield de.mkdirP(He.dirname(e)),_.debug(`Downloading ${A}`),_.debug(`Destination ${e}`);let s=3,i=$g("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS",10),n=$g("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS",20);return yield new _S.RetryHelper(s,i,n).execute(()=>KA(this,void 0,void 0,function*(){return yield KS(A,e||"",t,r)}),E=>!(E instanceof ri&&E.httpStatusCode&&E.httpStatusCode<500&&E.httpStatusCode!==408&&E.httpStatusCode!==429))})}V.downloadTool=jS;function KS(A,e,t,r){return KA(this,void 0,void 0,function*(){if(Me.existsSync(e))throw new Error(`Destination file path ${e} already exists`);let s=new Wu.HttpClient(ZS,[],{allowRetries:!1});t&&(_.debug("set auth"),r===void 0&&(r={}),r.authorization=t);let i=yield s.get(A,r);if(i.message.statusCode!==200){let a=new ri(i.message.statusCode);throw _.debug(`Failed to download from "${A}". Code(${i.message.statusCode}) Message(${i.message.statusMessage})`),a}let n=PS.promisify(WS.pipeline),E=$g("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY",()=>i.message)(),g=!1;try{return yield n(E,Me.createWriteStream(e)),_.debug("download complete"),g=!0,e}finally{if(!g){_.debug("download failed");try{yield de.rmRF(e)}catch(a){_.debug(`Failed to delete '${e}'. ${a.message}`)}}}})}function zS(A,e,t){return KA(this,void 0,void 0,function*(){(0,Qs.ok)(AQ,"extract7z() not supported on current OS"),(0,Qs.ok)(A,'parameter "file" is required'),e=yield go(e);let r=process.cwd();if(process.chdir(e),t)try{let i=["x",_.isDebug()?"-bb1":"-bb0","-bd","-sccUTF-8",A],n={silent:!0};yield(0,Jt.exec)(`"${t}"`,i,n)}finally{process.chdir(r)}else{let s=He.join(__dirname,"..","scripts","Invoke-7zdec.ps1").replace(/'/g,"''").replace(/"|\n|\r/g,""),i=A.replace(/'/g,"''").replace(/"|\n|\r/g,""),n=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),E=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${s}' -Source '${i}' -Target '${n}'`],g={silent:!0};try{let a=yield de.which("powershell",!0);yield(0,Jt.exec)(`"${a}"`,E,g)}finally{process.chdir(r)}}return e})}V.extract7z=zS;function $S(A,e,t="xz"){return KA(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'file' is required");e=yield go(e),_.debug("Checking tar --version");let r="";yield(0,Jt.exec)("tar --version",[],{ignoreReturnCode:!0,silent:!0,listeners:{stdout:E=>r+=E.toString(),stderr:E=>r+=E.toString()}}),_.debug(r.trim());let s=r.toUpperCase().includes("GNU TAR"),i;t instanceof Array?i=t:i=[t],_.isDebug()&&!t.includes("v")&&i.push("-v");let n=e,o=A;return AQ&&s&&(i.push("--force-local"),n=e.replace(/\\/g,"/"),o=A.replace(/\\/g,"/")),s&&(i.push("--warning=no-unknown-keyword"),i.push("--overwrite")),i.push("-C",n,"-f",o),yield(0,Jt.exec)("tar",i),e})}V.extractTar=$S;function AU(A,e,t=[]){return KA(this,void 0,void 0,function*(){(0,Qs.ok)(XS,"extractXar() not supported on current OS"),(0,Qs.ok)(A,'parameter "file" is required'),e=yield go(e);let r;t instanceof Array?r=t:r=[t],r.push("-x","-C",e,"-f",A),_.isDebug()&&r.push("-v");let s=yield de.which("xar",!0);return yield(0,Jt.exec)(`"${s}"`,aU(r)),e})}V.extractXar=AU;function eU(A,e){return KA(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'file' is required");return e=yield go(e),AQ?yield tU(A,e):yield rU(A,e),e})}V.extractZip=eU;function tU(A,e){return KA(this,void 0,void 0,function*(){let t=A.replace(/'/g,"''").replace(/"|\n|\r/g,""),r=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),s=yield de.which("pwsh",!1);if(s){let n=["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",["$ErrorActionPreference = 'Stop' ;","try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;",`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${t}', '${r}', $true) }`,`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${t}' -DestinationPath '${r}' -Force } else { throw $_ } } ;`].join(" ")];_.debug(`Using pwsh at path: ${s}`),yield(0,Jt.exec)(`"${s}"`,n)}else{let n=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",["$ErrorActionPreference = 'Stop' ;","try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;",`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${t}' -DestinationPath '${r}' -Force }`,`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${t}', '${r}', $true) }`].join(" ")],o=yield de.which("powershell",!0);_.debug(`Using powershell at path: ${o}`),yield(0,Jt.exec)(`"${o}"`,n)}})}function rU(A,e){return KA(this,void 0,void 0,function*(){let t=yield de.which("unzip",!0),r=[A];_.isDebug()||r.unshift("-q"),r.unshift("-o"),yield(0,Jt.exec)(`"${t}"`,r,{cwd:e})})}function sU(A,e,t,r){return KA(this,void 0,void 0,function*(){if(t=pt.clean(t)||t,r=r||si.arch(),_.debug(`Caching tool ${e} ${t} ${r}`),_.debug(`source dir: ${A}`),!Me.statSync(A).isDirectory())throw new Error("sourceDir is not a directory");let s=yield _u(e,t,r);for(let i of Me.readdirSync(A)){let n=He.join(A,i);yield de.cp(n,s,{recursive:!0})}return Xu(e,t,r),s})}V.cacheDir=sU;function iU(A,e,t,r,s){return KA(this,void 0,void 0,function*(){if(r=pt.clean(r)||r,s=s||si.arch(),_.debug(`Caching tool ${t} ${r} ${s}`),_.debug(`source file: ${A}`),!Me.statSync(A).isFile())throw new Error("sourceFile is not a file");let i=yield _u(t,r,s),n=He.join(i,e);return _.debug(`destination file ${n}`),yield de.cp(A,n),Xu(t,r,s),i})}V.cacheFile=iU;function nU(A,e,t){if(!A)throw new Error("toolName parameter is required");if(!e)throw new Error("versionSpec parameter is required");if(t=t||si.arch(),!eQ(e)){let s=Pu(A,t);e=Zu(s,e)}let r="";if(e){e=pt.clean(e)||"";let s=He.join(Qo(),A,e,t);_.debug(`checking cache: ${s}`),Me.existsSync(s)&&Me.existsSync(`${s}.complete`)?(_.debug(`Found tool in cache ${A} ${e} ${t}`),r=s):_.debug("not found")}return r}V.find=nU;function Pu(A,e){let t=[];e=e||si.arch();let r=He.join(Qo(),A);if(Me.existsSync(r)){let s=Me.readdirSync(r);for(let i of s)if(eQ(i)){let n=He.join(r,i,e||"");Me.existsSync(n)&&Me.existsSync(`${n}.complete`)&&t.push(i)}}return t}V.findAllVersions=Pu;function oU(A,e,t,r="master"){return KA(this,void 0,void 0,function*(){let s=[],i=`https://api.github.com/repos/${A}/${e}/git/trees/${r}`,n=new Wu.HttpClient("tool-cache"),o={};t&&(_.debug("set auth"),o.authorization=t);let E=yield n.getJson(i,o);if(!E.result)return s;let g="";for(let Q of E.result.tree)if(Q.path==="versions-manifest.json"){g=Q.url;break}o.accept="application/vnd.github.VERSION.raw";let a=yield(yield n.get(g,o)).readBody();if(a){a=a.replace(/^\uFEFF/,"");try{s=JSON.parse(a)}catch{_.debug("Invalid json")}}return s})}V.getManifestFromRepo=oU;function EU(A,e,t,r=si.arch()){return KA(this,void 0,void 0,function*(){return yield OS._findMatch(A,e,t,r)})}V.findFromManifest=EU;function go(A){return KA(this,void 0,void 0,function*(){return A||(A=He.join(ju(),Ou.randomUUID())),yield de.mkdirP(A),A})}function _u(A,e,t){return KA(this,void 0,void 0,function*(){let r=He.join(Qo(),A,pt.clean(e)||e,t||"");_.debug(`destination ${r}`);let s=`${r}.complete`;return yield de.rmRF(r),yield de.rmRF(s),yield de.mkdirP(r),r})}function Xu(A,e,t){let s=`${He.join(Qo(),A,pt.clean(e)||e,t||"")}.complete`;Me.writeFileSync(s,""),_.debug("finished caching tool")}function eQ(A){let e=pt.clean(A)||"";_.debug(`isExplicit: ${e}`);let t=pt.valid(e)!=null;return _.debug(`explicit? ${t}`),t}V.isExplicitVersion=eQ;function Zu(A,e){let t="";_.debug(`evaluating ${A.length} versions`),A=A.sort((r,s)=>pt.gt(r,s)?1:-1);for(let r=A.length-1;r>=0;r--){let s=A[r];if(pt.satisfies(s,e)){t=s;break}}return t?_.debug(`matched: ${t}`):_.debug("match not found"),t}V.evaluateVersions=Zu;function Qo(){let A=process.env.RUNNER_TOOL_CACHE||"";return(0,Qs.ok)(A,"Expected RUNNER_TOOL_CACHE to be defined"),A}function ju(){let A=process.env.RUNNER_TEMP||"";return(0,Qs.ok)(A,"Expected RUNNER_TEMP to be defined"),A}function $g(A,e){let t=global[A];return t!==void 0?t:e}function aU(A){return Array.from(new Set(A))}});var rA=cs(ns()),ae=cs(Ku()),cr=cs(require("path")),co=cs(require("os")),ye=cs(require("fs"));function zu(A,e,t){let r=ye.readdirSync(A);t&&(rA.info(`Searching for binary in ${A}...`),r.forEach(s=>rA.info(` - ${s}`)));for(let s of r){let i=cr.join(A,s);if(ye.statSync(i).isDirectory()){let o=zu(i,e,t);if(o)return o}else{let o=!1;if(e instanceof RegExp?o=e.test(s):(o=s===e,!o&&process.platform==="win32"&&!e.toLowerCase().endsWith(".exe")&&(o=s.toLowerCase()===`${e.toLowerCase()}.exe`)),o)return i}}}async function gU(){try{let A=rA.getInput("repository",{required:!0}),e=rA.getInput("file-name"),t=rA.getInput("binary-name"),r=rA.getInput("file-type")||"archive",s=rA.getBooleanInput("debug"),i=rA.getInput("token")||process.env.GITHUB_TOKEN,n=co.platform(),o=co.arch(),E={linux:"linux",darwin:"(darwin|macos|mac)",win32:"(windows|win)"},g={x64:"(x86_64|x64|amd64)",arm64:"(aarch64|arm64)"},a=E[n]||n,Q=g[o]||o,c;r==="archive"?c="\\.(zip|tar\\.gz|tar|tgz|7z)":r==="package"?c="\\.(deb|rpm|pkg)":c=r;let B=`https://api.github.com/repos/${A}/releases/latest`,C={Accept:"application/vnd.github.v3+json","User-Agent":"setup-github-release-action"};i&&(C.Authorization=`token ${i}`),rA.info(`Fetching latest release information for ${A}...`);let f=await fetch(B,{headers:C});if(!f.ok)throw new Error(`Failed to fetch release: ${f.statusText} (${f.status})`);let u=await f.json(),d;if(e)if(e.startsWith("~")){let J=e.substring(1),mA=J.includes("{{SYSTEM}}"),TA=J.includes("{{ARCH}}"),DA=J.includes("{{EXT_PATTERN}}"),vt=J.endsWith("$");!mA&&!TA&&!DA&&!vt?J+=".*{{SYSTEM}}[_-]{{ARCH}}.*{{EXT_PATTERN}}$":mA&&TA&&!DA&&!vt&&(J+=".*{{EXT_PATTERN}}$");let wt=J.replace(/{{SYSTEM}}/g,a).replace(/{{ARCH}}/g,Q).replace(/{{EXT_PATTERN}}/g,c),Ht=new RegExp(wt,"i");rA.info(`Using regex pattern: ${wt}`);let qe=u.assets.filter(Vt=>Ht.test(Vt.name));if(qe.length===0)throw new Error(`No assets matched the regex: ${wt}`);if(qe.length>1)throw new Error(`Multiple assets matched the criteria: ${qe.map(Vt=>Vt.name).join(", ")}`);d=qe[0]}else rA.info(`Using literal match for: ${e}`),d=u.assets.find(J=>J.name===e);else{let J=`${a}[_-]${Q}.*${c}$`,mA=new RegExp(J,"i");rA.info(`No file-name provided. Using default pattern: ${J}`);let TA=u.assets.filter(DA=>mA.test(DA.name));if(TA.length===0)throw new Error(`No assets matched the default criteria: ${J}`);if(TA.length>1)throw new Error(`Multiple assets matched the default criteria: ${TA.map(DA=>DA.name).join(", ")}`);d=TA[0]}if(!d)throw new Error(`No asset found matching the criteria in release ${u.tag_name}`);let R=u.tag_name.replace(/^v/,""),F=A.split("/").pop()||A,x=t||F,pA=ae.find(F,R,o);if(pA){rA.info(`Found ${F} version ${R} in cache at ${pA}`),rA.addPath(pA);return}let wA=d.browser_download_url;rA.info(`Downloading ${d.name} from ${wA}...`);let sA=await ae.downloadTool(wA),uA=d.name.toLowerCase(),oA;if(/\.(tar\.gz|tar|tgz)$/i.test(uA))oA=await ae.extractTar(sA);else if(/\.zip$/i.test(uA))oA=await ae.extractZip(sA);else if(/\.7z$/i.test(uA))oA=await ae.extract7z(sA);else if(/\.(xar|pkg)$/i.test(uA))oA=await ae.extractXar(sA);else{oA=cr.join(cr.dirname(sA),"bin");let J=cr.join(oA,d.name);ye.existsSync(oA)||ye.mkdirSync(oA,{recursive:!0}),ye.renameSync(sA,J),process.platform!=="win32"&&ye.chmodSync(J,"755")}let UA;x.startsWith("~")?(UA=new RegExp(x.substring(1),"i"),rA.info(`Searching for binary matching regex: ${x.substring(1)}`)):(UA=x,rA.info(`Searching for binary named: ${x}`));let kA=zu(oA,UA,s);if(!kA)throw new Error(`Could not find binary "${x}" in the extracted asset.`);oA=cr.dirname(kA),rA.info(`Binary found at ${kA}. Setting tool directory to ${oA}`),process.platform!=="win32"&&ye.chmodSync(kA,"755");let q=await ae.cacheDir(oA,F,R,o);rA.info(`Cached ${F} version ${R} to ${q}`),rA.addPath(q),rA.info(`Added ${q} to PATH`)}catch(A){A instanceof Error&&rA.setFailed(A.message)}}gU(); /*! Bundled license information: undici/lib/fetch/body.js: diff --git a/src/index.ts b/src/index.ts index 1668e11..012b52d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -36,7 +36,7 @@ function findBinary(dir: string, pattern: string | RegExp, debug: boolean): stri async function run() { try { - const repoName = core.getInput('repo-name', { required: true }); + const repository = core.getInput('repository', { required: true }); let fileName = core.getInput('file-name'); const binaryInput = core.getInput('binary-name'); const fileType = core.getInput('file-type') || 'archive'; @@ -70,7 +70,7 @@ async function run() { extPattern = fileType; } - const url = `https://api.github.com/repos/${repoName}/releases/latest`; + const url = `https://api.github.com/repos/${repository}/releases/latest`; const headers: Record = { 'Accept': 'application/vnd.github.v3+json', 'User-Agent': 'setup-github-release-action' @@ -79,7 +79,7 @@ async function run() { headers['Authorization'] = `token ${token}`; } - core.info(`Fetching latest release information for ${repoName}...`); + core.info(`Fetching latest release information for ${repository}...`); const response = await fetch(url, { headers }); if (!response.ok) { throw new Error(`Failed to fetch release: ${response.statusText} (${response.status})`); @@ -141,7 +141,7 @@ async function run() { } const version = data.tag_name.replace(/^v/, ''); - const toolName = repoName.split('/').pop() || repoName; + const toolName = repository.split('/').pop() || repository; const binaryName = binaryInput || toolName; // Check if the tool is already in the cache