Update: Renmaed input repo-name to repository.
Test Action / test (push) Successful in 5s

This commit is contained in:
slawek committed 2026-01-11 07:37:07 +01:00
1 parent a6029b9169
commit 03b8e6fa3b
5 files changed
+14 -14

No files matched your search

+3 -3
View File
@@ -11,20 +11,20 @@ jobs:
- name: Go ACME Setup - name: Go ACME Setup
uses: ./ uses: ./
with: with:
repo-name: 'go-acme/lego' repository: 'go-acme/lego'
token: ${{ secrets.GH_TOKEN }} token: ${{ secrets.GH_TOKEN }}
- name: Setup Hugo - name: Setup Hugo
uses: ./ uses: ./
with: with:
repo-name: 'gohugoio/hugo' repository: 'gohugoio/hugo'
file-name: '~hugo_extended_[^a-z]' file-name: '~hugo_extended_[^a-z]'
token: ${{ secrets.GH_TOKEN }} token: ${{ secrets.GH_TOKEN }}
- name: Setup RClone - name: Setup RClone
uses: ./ uses: ./
with: with:
repo-name: 'rclone/rclone' repository: 'rclone/rclone'
token: ${{ secrets.GH_TOKEN }} token: ${{ secrets.GH_TOKEN }}
- name: Verify Installation - name: Verify Installation
+5 -5
View File
@@ -19,7 +19,7 @@ The action will automatically detect your OS (Linux, Windows, macOS) and archite
- name: Install Hugo - name: Install Hugo
uses: koszewscy/setup-github-release@v1 uses: koszewscy/setup-github-release@v1
with: 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. > **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 - name: Install Extended Hugo
uses: koszewscy/setup-github-release@v1 uses: koszewscy/setup-github-release@v1
with: with:
repo-name: 'gohugoio/hugo' repository: 'gohugoio/hugo'
file-name: '~hugo_extended_[^a-z]' # Regex to match extended version 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 - name: Install GitHub CLI
uses: koszewscy/setup-github-release@v1 uses: koszewscy/setup-github-release@v1
with: with:
repo-name: 'cli/cli' repository: 'cli/cli'
binary-name: 'gh' # Searches for 'gh' (or 'gh.exe') inside the extracted release 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 ```yaml
- uses: koszewscy/setup-github-release@v1 - uses: koszewscy/setup-github-release@v1
with: with:
repo-name: 'owner/repo' repository: 'owner/repo'
debug: true debug: true
``` ```
## Inputs ## 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. - `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. - `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. - `file-type` (optional, default: `archive`): Predefined keywords `archive`, `package`, or a custom regex pattern.
+1 -1
View File
@@ -2,7 +2,7 @@ name: 'setup-github-release'
description: 'Install a tool from a GitHub release and add it to the PATH' description: 'Install a tool from a GitHub release and add it to the PATH'
author: 'Slawomir Koszewski with GitHub Copilot assistance' author: 'Slawomir Koszewski with GitHub Copilot assistance'
inputs: inputs:
repo-name: repository:
description: 'The GitHub repository name (e.g., owner/repo)' description: 'The GitHub repository name (e.g., owner/repo)'
required: true required: true
file-name: file-name:
+1 -1
View File
@@ -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(` `);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} `).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<qg.length;e++){var t=qg[e][0],r=qg[e][1];A=A.split(t+"*").join(t+"{0,"+r+"}").split(t+"+").join(t+"{1,"+r+"}")}return A}H("NUMERICIDENTIFIER");l[I.NUMERICIDENTIFIER]="0|[1-9]\\d*";H("NUMERICIDENTIFIERLOOSE");l[I.NUMERICIDENTIFIERLOOSE]="\\d+";H("NONNUMERICIDENTIFIER");l[I.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-]"+Og+"*";H("MAINVERSION");l[I.MAINVERSION]="("+l[I.NUMERICIDENTIFIER]+")\\.("+l[I.NUMERICIDENTIFIER]+")\\.("+l[I.NUMERICIDENTIFIER]+")";H("MAINVERSIONLOOSE");l[I.MAINVERSIONLOOSE]="("+l[I.NUMERICIDENTIFIERLOOSE]+")\\.("+l[I.NUMERICIDENTIFIERLOOSE]+")\\.("+l[I.NUMERICIDENTIFIERLOOSE]+")";H("PRERELEASEIDENTIFIER");l[I.PRERELEASEIDENTIFIER]="(?:"+l[I.NUMERICIDENTIFIER]+"|"+l[I.NONNUMERICIDENTIFIER]+")";H("PRERELEASEIDENTIFIERLOOSE");l[I.PRERELEASEIDENTIFIERLOOSE]="(?:"+l[I.NUMERICIDENTIFIERLOOSE]+"|"+l[I.NONNUMERICIDENTIFIER]+")";H("PRERELEASE");l[I.PRERELEASE]="(?:-("+l[I.PRERELEASEIDENTIFIER]+"(?:\\."+l[I.PRERELEASEIDENTIFIER]+")*))";H("PRERELEASELOOSE");l[I.PRERELEASELOOSE]="(?:-?("+l[I.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+l[I.PRERELEASEIDENTIFIERLOOSE]+")*))";H("BUILDIDENTIFIER");l[I.BUILDIDENTIFIER]=Og+"+";H("BUILD");l[I.BUILD]="(?:\\+("+l[I.BUILDIDENTIFIER]+"(?:\\."+l[I.BUILDIDENTIFIER]+")*))";H("FULL");H("FULLPLAIN");l[I.FULLPLAIN]="v?"+l[I.MAINVERSION]+l[I.PRERELEASE]+"?"+l[I.BUILD]+"?";l[I.FULL]="^"+l[I.FULLPLAIN]+"$";H("LOOSEPLAIN");l[I.LOOSEPLAIN]="[v=\\s]*"+l[I.MAINVERSIONLOOSE]+l[I.PRERELEASELOOSE]+"?"+l[I.BUILD]+"?";H("LOOSE");l[I.LOOSE]="^"+l[I.LOOSEPLAIN]+"$";H("GTLT");l[I.GTLT]="((?:<|>)?=?)";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+"})Line truncated 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<qg.length;e++){var t=qg[e][0],r=qg[e][1];A=A.split(t+"*").join(t+"{0,"+r+"}").split(t+"+").join(t+"{1,"+r+"}")}return A}H("NUMERICIDENTIFIER");l[I.NUMERICIDENTIFIER]="0|[1-9]\\d*";H("NUMERICIDENTIFIERLOOSE");l[I.NUMERICIDENTIFIERLOOSE]="\\d+";H("NONNUMERICIDENTIFIER");l[I.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-]"+Og+"*";H("MAINVERSION");l[I.MAINVERSION]="("+l[I.NUMERICIDENTIFIER]+")\\.("+l[I.NUMERICIDENTIFIER]+")\\.("+l[I.NUMERICIDENTIFIER]+")";H("MAINVERSIONLOOSE");l[I.MAINVERSIONLOOSE]="("+l[I.NUMERICIDENTIFIERLOOSE]+")\\.("+l[I.NUMERICIDENTIFIERLOOSE]+")\\.("+l[I.NUMERICIDENTIFIERLOOSE]+")";H("PRERELEASEIDENTIFIER");l[I.PRERELEASEIDENTIFIER]="(?:"+l[I.NUMERICIDENTIFIER]+"|"+l[I.NONNUMERICIDENTIFIER]+")";H("PRERELEASEIDENTIFIERLOOSE");l[I.PRERELEASEIDENTIFIERLOOSE]="(?:"+l[I.NUMERICIDENTIFIERLOOSE]+"|"+l[I.NONNUMERICIDENTIFIER]+")";H("PRERELEASE");l[I.PRERELEASE]="(?:-("+l[I.PRERELEASEIDENTIFIER]+"(?:\\."+l[I.PRERELEASEIDENTIFIER]+")*))";H("PRERELEASELOOSE");l[I.PRERELEASELOOSE]="(?:-?("+l[I.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+l[I.PRERELEASEIDENTIFIERLOOSE]+")*))";H("BUILDIDENTIFIER");l[I.BUILDIDENTIFIER]=Og+"+";H("BUILD");l[I.BUILD]="(?:\\+("+l[I.BUILDIDENTIFIER]+"(?:\\."+l[I.BUILDIDENTIFIER]+")*))";H("FULL");H("FULLPLAIN");l[I.FULLPLAIN]="v?"+l[I.MAINVERSION]+l[I.PRERELEASE]+"?"+l[I.BUILD]+"?";l[I.FULL]="^"+l[I.FULLPLAIN]+"$";H("LOOSEPLAIN");l[I.LOOSEPLAIN]="[v=\\s]*"+l[I.MAINVERSIONLOOSE]+l[I.PRERELEASELOOSE]+"?"+l[I.BUILD]+"?";H("LOOSE");l[I.LOOSE]="^"+l[I.LOOSEPLAIN]+"$";H("GTLT");l[I.GTLT]="((?:<|>)?=?)";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+"})Line truncated
`);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(;r<this.maxAttempts;){try{return yield e()}catch(i){if(t&&!t(i))throw i;Vu.info(i.message)}let s=this.getSleepAmount();Vu.info(`Waiting ${s} seconds before trying again`),yield this.sleep(s),r++}return yield e()})}getSleepAmount(){return Math.floor(Math.random()*(this.maxSeconds-this.minSeconds+1))+this.minSeconds}sleep(e){return Hu(this,void 0,void 0,function*(){return new Promise(t=>setTimeout(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.Line truncated `);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(;r<this.maxAttempts;){try{return yield e()}catch(i){if(t&&!t(i))throw i;Vu.info(i.message)}let s=this.getSleepAmount();Vu.info(`Waiting ${s} seconds before trying again`),yield this.sleep(s),r++}return yield e()})}getSleepAmount(){return Math.floor(Math.random()*(this.maxSeconds-this.minSeconds+1))+this.minSeconds}sleep(e){return Hu(this,void 0,void 0,function*(){return new Promise(t=>setTimeout(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.Line truncated
/*! Bundled license information: /*! Bundled license information:
undici/lib/fetch/body.js: undici/lib/fetch/body.js:
+4 -4
View File
@@ -36,7 +36,7 @@ function findBinary(dir: string, pattern: string | RegExp, debug: boolean): stri
async function run() { async function run() {
try { try {
const repoName = core.getInput('repo-name', { required: true }); const repository = core.getInput('repository', { required: true });
let fileName = core.getInput('file-name'); let fileName = core.getInput('file-name');
const binaryInput = core.getInput('binary-name'); const binaryInput = core.getInput('binary-name');
const fileType = core.getInput('file-type') || 'archive'; const fileType = core.getInput('file-type') || 'archive';
@@ -70,7 +70,7 @@ async function run() {
extPattern = fileType; 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<string, string> = { const headers: Record<string, string> = {
'Accept': 'application/vnd.github.v3+json', 'Accept': 'application/vnd.github.v3+json',
'User-Agent': 'setup-github-release-action' 'User-Agent': 'setup-github-release-action'
@@ -79,7 +79,7 @@ async function run() {
headers['Authorization'] = `token ${token}`; 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 }); const response = await fetch(url, { headers });
if (!response.ok) { if (!response.ok) {
throw new Error(`Failed to fetch release: ${response.statusText} (${response.status})`); 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 version = data.tag_name.replace(/^v/, '');
const toolName = repoName.split('/').pop() || repoName; const toolName = repository.split('/').pop() || repository;
const binaryName = binaryInput || toolName; const binaryName = binaryInput || toolName;
// Check if the tool is already in the cache // Check if the tool is already in the cache