contributor-assistant / github-action

CLA Assistant GitHub Action
Apache License 2.0
279 stars 92 forks source link

[BUG] Error handling for forked repositories is painful #103

Closed jsoref closed 2 years ago

jsoref commented 2 years ago

Describe the bug Forks of repositories are standard practice in GitHub.

It's ok to throw a pretty error when a required field is missing. It's really annoying to dump 23k of error content for an expected error path.

To Reproduce Steps to reproduce the behavior:

  1. fork https://github.com/hugegraph/hugegraph
  2. create a branch with some content
  3. create a pull request targeting the forked repository

Expected behavior A short error wthout a lot of noise.

Screenshots If applicable, add screenshots to help explain your problem.

https://github.com/check-spelling/hugegraph/runs/5713197458?check_suite_focus=true

2022-03-28T01:08:02.8818913Z ##[group]Run cla-assistant/github-action@v2.1.3-beta
2022-03-28T01:08:02.8819318Z with:
2022-03-28T01:08:02.8819635Z   path-to-signatures: .github/cla-signatures/cla.json
2022-03-28T01:08:02.8820171Z   path-to-document: https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md
2022-03-28T01:08:02.8820764Z   custom-allsigned-prcomment: **Good**! All Contributors have signed the [CLA](https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md).
2022-03-28T01:08:02.8821229Z   branch: cla-assist
2022-03-28T01:08:02.8821481Z   allowlist: bot*
2022-03-28T01:08:02.8821764Z   lock-pullrequest-aftermerge: false
2022-03-28T01:08:02.8822075Z   use-dco-flag: false
2022-03-28T01:08:02.8822311Z env:
2022-03-28T01:08:02.8823012Z   GITHUB_TOKEN: ***
2022-03-28T01:08:02.8823269Z   PERSONAL_ACCESS_TOKEN: 
2022-03-28T01:08:02.8823531Z ##[endgroup]
2022-03-28T01:08:03.0915287Z /home/runner/work/_actions/cla-assistant/github-action/v2.1.3-beta/lib/main.js:1
2022-03-28T01:08:03.1570511Z module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(131)}t(__webpack_require__);return startup()}({11:function(e){e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(t){wrapper[t]=e[t]});return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r<t.length;r++){t[r]=arguments[r]}var n=e.apply(this,t);var o=t[t.length-1];if(typeof n==="function"&&n!==o){Object.keys(o).forEach(function(e){n[e]=o[e]})}return n}}},16:function(e){e.exports=require("tls")},18:function(){eval("require")("encoding")},49:function(e,t,r){var n=r(11);e.exports=n(once);e.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(e){var t=function(){if(t.called)return t.value;t.called=true;return t.value=e.apply(this,arguments)};t.called=false;return t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);t.called=true;return t.value=e.apply(this,arguments)};var r=e.name||"Function wrapped with `once`";t.onceError=r+" shouldn't be called more than once";t.called=false;return t}},82:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue},87:function(e){e.exports=require("os")},95:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=r(586);var o=r(848);const s="4.5.3";class GraphqlError extends Error{constructor(e,t){const r=t.data.errors[0].message;super(r);Object.assign(this,t.data);Object.assign(this,{headers:t.headers});this.name="GraphqlError";this.request=e;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const i=["method","baseUrl","url","headers","request","query","mediaType"];function graphql(e,t,r){r=typeof t==="string"?r=Object.assign({query:t},r):r=t;const n=Object.keys(r).reduce((e,t)=>{if(i.includes(t)){e[t]=r[t];return e}if(!e.variables){e.variables={}}e.variables[t]=r[t];return e},{});return e(n).then(e=>{if(e.data.errors){const t={};for(const r of Object.keys(e.headers)){t[r]=e.headers[r]}throw new GraphqlError(n,{headers:t,data:e.data})}return e.data.data})}function withDefaults(e,t){const r=e.defaults(t);const o=(e,t)=>{return graphql(r,e,t)};return Object.assign(o,{defaults:withDefaults.bind(null,r),endpoint:n.request.endpoint})}const a=withDefaults(n.request,{headers:{"user-agent":`octokit-graphql.js/${s} ${o.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}t.graphql=a;t.withCustomRequest=withCustomRequest},102:function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const o=n(r(747));const s=n(r(87));const i=r(82);function issueCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}o.appendFileSync(r,`${i.toCommandValue(t)}${s.EOL}`,{encoding:"utf8"})}t.issueCommand=issueCommand},127:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyAgent=t.getAuthString=void 0;const i=s(r(539));function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new i.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},131:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var i=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});t.run=void 0;const a=r(469);const u=r(210);const c=r(501);const l=s(r(470));const p=s(r(395));function run(){return i(this,void 0,void 0,function*(){try{l.info(`CLA Assistant GitHub Action bot has started the process`);if(a.context.payload.action==="closed"&&p.lockPullRequestAfterMerge()=="true"){return c.lockPullRequest()}else{yield u.setupClaCheck()}}catch(e){l.setFailed(e.message)}})}t.run=run;run()},141:function(e,t,r){"use strict";var n=r(631);var o=r(16);var s=r(605);var i=r(211);var a=r(614);var u=r(357);var c=r(669);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||s.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",function onFree(e,r,n,o){var s=toOptions(r,n,o);for(var i=0,a=t.requests.length;i<a;++i){var u=t.requests[i];if(u.host===s.host&&u.port===s.port){t.requests.splice(i,1);u.request.onSocket(e);return}}e.destroy();t.removeSocket(e)})}c.inherits(TunnelingAgent,a.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(e,t,r,n){var o=this;var s=mergeOptions({request:e},o.options,toOptions(t,r,n));if(o.sockets.length>=this.maxSockets){o.requests.push(s);return}o.createSocket(s,function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,s)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}})};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}l("making CONNECT request");var s=r.request(o);s.useChunkedEncodingByDefault=false;s.once("response",onResponse);s.once("upgrade",onUpgrade);s.once("connect",onConnect);s.once("error",onError);s.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick(function(){onConnect(e,t,r)})}function onConnect(o,i,a){s.removeAllListeners();i.removeAllListeners();if(o.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",o.statusCode);i.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){l("got illegal response body from proxy");i.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=i;return t(i)}function onError(t){s.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,function(e){r.request.onSocket(e)})}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,function(n){var s=e.request.getHeader("host");var i=mergeOptions({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):e.host});var a=o.connect(0,i);r.sockets[r.sockets.indexOf(n)]=a;t(a)})}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t<r;++t){var n=arguments[t];if(typeof n==="object"){var o=Object.keys(n);for(var s=0,i=o.length;s<i;++s){var a=o[s];if(n[a]!==undefined){e[a]=n[a]}}}}return e}var l;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){l=function(){var e=Array.prototype.slice.call(arguments);if(typeof e[0]==="string"){e[0]="TUNNEL: "+e[0]}else{e.unshift("TUNNEL:")}console.error.apply(console,e)}}else{l=function(){}}t.debug=l},160:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var n=r(692);var o=_interopDefault(r(49));const s=o(e=>console.warn(e));class RequestError extends Error{constructor(e,t,r){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;Object.defineProperty(this,"code",{get(){s(new n.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});this.headers=r.headers||{};const o=Object.assign({},r.request);if(r.request.headers.authorization){o.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}o.url=o.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=o}}t.RequestError=RequestError},210:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var i=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.setupClaCheck=void 0;const u=r(225);const c=a(r(407));const l=a(r(224));const p=r(469);const f=r(641);const d=r(450);const h=r(994);const g=s(r(470));function setupClaCheck(){return i(this,void 0,void 0,function*(){let e=m();if(!h.isPersonalAccessTokenPresent()){g.setFailed("Please enter a personal access token as a environment variable in the CLA workflow file as described in the https://github.com/cla-assistant/github-action documentation");return}let t=yield c.default();t=u.checkAllowList(t);const{claFileContent:r,sha:n}=yield getCLAFileContentandSHA(t,e);e=prepareCommiterMap(t,r);try{const o=yield l.default(e,t);if(o===null||o===void 0?void 0:o.newSigned.length){yield f.updateFile(n,r,o)}if((o===null||o===void 0?void 0:o.allSignedFlag)||((e===null||e===void 0?void 0:e.notSigned)===undefined||e.notSigned.length===0)){g.info(`All contributors have signed the CLA 📝 ✅ `);return d.reRunLastWorkFlowIfRequired()}else{g.setFailed(`committers of Pull Request number ${p.context.issue.number} have to sign the CLA 📝`)}}catch(e){g.setFailed(`Could not update the JSON file: ${e.message}`)}})}t.setupClaCheck=setupClaCheck;function getCLAFileContentandSHA(e,t){var r;return i(this,void 0,void 0,function*(){let n,o,s,i;try{n=yield f.getFileContent()}catch(r){if(r.status===404){return createClaFileAndPRComment(e,t)}else{g.setFailed(`Could not retrieve repository contents: ${r.message}. Status: ${r.status||"unknown"}`)}}i=(r=n===null||n===void 0?void 0:n.data)===null||r===void 0?void 0:r.sha;o=Buffer.from(n.data.content,"base64").toString();s=JSON.parse(o);return{claFileContent:s,sha:i}})}function createClaFileAndPRComment(e,t){return i(this,void 0,void 0,function*(){t.notSigned=e;t.signed=[];e.map(e=>{if(!e.id){t.unknown.push(e)}});const r={signedContributors:[]};const n=JSON.stringify(r,null,3);const o=Buffer.from(n).toString("base64");yield f.createFile(o).catch(e=>g.setFailed(`Error occurred when creating the signed contributors file: ${e.message||e}. Make sure the branch where signatures are stored is NOT protected.`));yield l.default(t,e);throw new Error(`Committers of pull request ${p.context.issue.number} have to sign the CLA`)})}function prepareCommiterMap(e,t){let r=m();r.notSigned=e.filter(e=>!(t===null||t===void 0?void 0:t.signedContributors.some(t=>e.id===t.id)));r.signed=e.filter(e=>t===null||t===void 0?void 0:t.signedContributors.some(t=>e.id===t.id));e.map(e=>{if(!e.id){r.unknown.push(e)}});return r}const m=()=>({signed:[],notSigned:[],unknown:[]})},211:function(e){e.exports=require("https")},213:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const o=r(994);const s=r(469);const i=r(395);function signatureWithPRComment(e,t){return n(this,void 0,void 0,function*(){let r=s.context.payload.repository.id;let n=yield o.octokit.issues.listComments({owner:s.context.repo.owner,repo:s.context.repo.repo,issue_number:s.context.issue.number});let i=[];let a=[];n===null||n===void 0?void 0:n.data.map(e=>{i.push({name:e.user.login,id:e.user.id,comment_id:e.id,body:e.body.trim().toLowerCase(),created_at:e.created_at,repoId:r,pullRequestNo:s.context.issue.number})});i.map(e=>{if(isCommentSignedByUser(e.body||"",e.name)){a.push(e)}});for(var u=0;u<a.length;u++){delete a[u].body}const c=a.filter(t=>e.notSigned.some(e=>t.id===e.id));const l=t.filter(e=>a.some(t=>e.id==t.id));const p={newSigned:c,onlyCommitters:l,allSignedFlag:false};return p})}t.default=signatureWithPRComment;function isCommentSignedByUser(e,t){if(t==="github-actions[bot]"){return false}if(i.getCustomPrSignComment()!==""){return i.getCustomPrSignComment().toLowerCase()===e}switch(i.getUseDcoFlag()){case"true":return e.match(/^.*i \s*have \s*read \s*the \s*dco \s*document \s*and \s*i \s*hereby \s*sign \s*the \s*dco.*$/)!==null;case"false":return e.match(/^.*i \s*have \s*read \s*the \s*cla \s*document \s*and \s*i \s*hereby \s*sign \s*the \s*cla.*$/)!==null;default:return false}}},224:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});const s=r(994);const i=r(469);const a=o(r(213));const u=r(827);const c=r(395);function prCommentSetup(e,t){return n(this,void 0,void 0,function*(){const r=(e===null||e===void 0?void 0:e.notSigned)&&(e===null||e===void 0?void 0:e.notSigned.length)===0;try{const n=yield getComment();if(!n&&!r){return createComment(r,e)}else if(n===null||n===void 0?void 0:n.id){if(r){yield updateComment(r,e,n)}const o=yield a.default(e,t);if(o===null||o===void 0?void 0:o.onlyCommitters){o.allSignedFlag=prepareAllSignedCommitters(e,o.onlyCommitters,t)}e=prepareCommiterMap(e,o);yield updateComment(o.allSignedFlag,e,n);return o}}catch(e){throw new Error(`Error occured when creating or editing the comments of the pull request: ${e.message}`)}})}t.default=prCommentSetup;function createComment(e,t){return n(this,void 0,void 0,function*(){yield s.octokit.issues.createComment({owner:i.context.repo.owner,repo:i.context.repo.repo,issue_number:i.context.issue.number,body:u.commentContent(e,t)}).catch(e=>{throw new Error(`Error occured when creating a pull request comment: ${e.message}`)})})}function updateComment(e,t,r){return n(this,void 0,void 0,function*(){yield s.octokit.issues.updateComment({owner:i.context.repo.owner,repo:i.context.repo.repo,comment_id:r.id,body:u.commentContent(e,t)}).catch(e=>{throw new Error(`Error occured when updating the pull request comment: ${e.message}`)})})}function getComment(){return n(this,void 0,void 0,function*(){try{const e=yield s.octokit.issues.listComments({owner:i.context.repo.owner,repo:i.context.repo.repo,issue_number:i.context.issue.number});if(c.getUseDcoFlag()==="true"){return e.data.find(e=>e.body.match(/.*DCO Assistant Lite bot.*/))}else if(c.getUseDcoFlag()==="false"){return e.data.find(e=>e.body.match(/.*CLA Assistant Lite bot.*/))}}catch(e){throw new Error(`Error occured when getting  all the comments of the pull request: ${e.message}`)}})}function prepareCommiterMap(e,t){var r;(r=e.signed)===null||r===void 0?void 0:r.push(...t.newSigned);e.notSigned=e.notSigned.filter(e=>!t.newSigned.some(t=>e.id===t.id));return e}function prepareAllSignedCommitters(e,t,r){let n=[];const o=new Set(t.map(e=>e.id));n=[...t,...e.signed.filter(e=>!o.has(e.id))];let s=r.every(e=>n.some(t=>e.id===t.id));return s}},225:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.checkAllowList=void 0;const i=s(r(557));const a=s(r(395));function isUserNotInAllowList(e){const t=a.getAllowListItem().split(",");return t.filter(function(t){t=t.trim();if(t.includes("*")){const r=i.escapeRegExp(t).split("\\*").join(".*");return new RegExp(r).test(e)}return t===e}).length>0}function checkAllowList(e){const t=e.filter(e=>e&&!(isUserNotInAllowList!==undefined&&isUserNotInAllowList(e.name)));return t}t.checkAllowList=checkAllowList},262:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const n=r(747);const o=r(87);class Context{constructor(){this.payload={};if(process.env.GITHUB_EVENT_PATH){if(n.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(n.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${o.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10)}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},280:function(e){e.exports=register;function register(e,t,r,n){if(typeof r!=="function"){throw new Error("method for before hook must be a function")}if(!n){n={}}if(Array.isArray(t)){return t.reverse().reduce(function(t,r){return register.bind(null,e,r,t,n)},r)()}return Promise.resolve().then(function(){if(!e.registry[t]){return r(n)}return e.registry[t].reduce(function(e,t){return t.hook.bind(null,e,n)},r)()})}},299:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});const r="2.3.0";function normalizePaginatedListResponse(e){const t="total_count"in e.data&&!("url"in e.data);if(!t)return e;const r=e.data.incomplete_results;const n=e.data.repository_selection;const o=e.data.total_count;delete e.data.incomplete_results;delete e.data.repository_selection;delete e.data.total_count;const s=Object.keys(e.data)[0];const i=e.data[s];e.data=i;if(typeof r!=="undefined"){e.data.incomplete_results=r}if(typeof n!=="undefined"){e.data.repository_selection=n}e.data.total_count=o;return e}function iterator(e,t,r){const n=typeof t==="function"?t.endpoint(r):e.request.endpoint(t,r);const o=typeof t==="function"?t:e.request;const s=n.method;const i=n.headers;let a=n.url;return{[Symbol.asyncIterator]:()=>({next(){if(!a){return Promise.resolve({done:true})}return o({method:s,url:a,headers:i}).then(normalizePaginatedListResponse).then(e=>{a=((e.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:e}})}})}}function paginate(e,t,r,n){if(typeof r==="function"){n=r;r=undefined}return gather(e,[],iterator(e,t,r)[Symbol.asyncIterator](),n)}function gather(e,t,r,n){return r.next().then(o=>{if(o.done){return t}let s=false;function done(){s=true}t=t.concat(n?n(o.value,done):o.value.data);if(s){return t}return gather(e,t,r,n)})}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=r;t.paginateRest=paginateRest},357:function(e){e.exports=require("assert")},395:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.lockPullRequestAfterMerge=t.getCustomPrSignComment=t.getUseDcoFlag=t.getCustomAllSignedPrComment=t.getCustomNotSignedPrComment=t.getCreateFileCommitMessage=t.getSignedCommitMessage=t.getEmptyCommitFlag=t.getAllowListItem=t.getBranch=t.getPathToDocument=t.getPathToSignatures=t.getRemoteOrgName=t.getRemoteRepoName=void 0;const i=s(r(470));t.getRemoteRepoName=(()=>{return i.getInput("remote-repository-name",{required:false})});t.getRemoteOrgName=(()=>{return i.getInput("remote-organization-name",{required:false})});t.getPathToSignatures=(()=>i.getInput("path-to-signatures",{required:false}));t.getPathToDocument=(()=>i.getInput("path-to-document",{required:false}));t.getBranch=(()=>i.getInput("branch",{required:false}));t.getAllowListItem=(()=>i.getInput("allowlist",{required:false}));t.getEmptyCommitFlag=(()=>i.getInput("empty-commit-flag",{required:false}));t.getSignedCommitMessage=(()=>i.getInput("signed-commit-message",{required:false}));t.getCreateFileCommitMessage=(()=>i.getInput("create-file-commit-message",{required:false}));t.getCustomNotSignedPrComment=(()=>i.getInput("custom-notsigned-prcomment",{required:false}));t.getCustomAllSignedPrComment=(()=>i.getInput("custom-allsigned-prcomment",{required:false}));t.getUseDcoFlag=(()=>i.getInput("use-dco-flag",{required:false}));t.getCustomPrSignComment=(()=>i.getInput("custom-pr-sign-comment",{required:false}));t.lockPullRequestAfterMerge=(()=>i.getInput("lock-pullrequest-aftermerge",{required:false}))},407:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});const o=r(994);const s=r(469);function getCommitters(){return n(this,void 0,void 0,function*(){try{let e=[];let t=[];let r=yield o.octokit.graphql(`\n        query($owner:String! $name:String! $number:Int! $cursor:String!){\n            repository(owner: $owner, name: $name) {\n            pullRequest(number: $number) {\n                commits(first: 100, after: $cursor) {\n                    totalCount\n                    edges {\n                        node {\n                            commit {\n                                author {\n                                    email\n                                    name\n                                    user {\n                                        id\n                                        databaseId\n                                        login\n                                    }\n                                }\n                                committer {\n                                    name\n                                    user {\n                                        id\n                                        databaseId\n                                        login\n                                    }\n                                }\n                            }\n                        }\n                        cursor\n                    }\n                    pageInfo {\n                        endCursor\n                        hasNextPage\n                    }\n                }\n            }\n        }\n    }`.replace(/ /g,""),{owner:s.context.repo.owner,name:s.context.repo.repo,number:s.context.issue.number,cursor:""});r.repository.pullRequest.commits.edges.forEach(t=>{const r=i(t.node.commit);let n={name:r.login||r.name,id:r.databaseId||"",pullRequestNo:s.context.issue.number};if(e.length===0||e.map(e=>{return e.name}).indexOf(n.name)<0){e.push(n)}});t=e.filter(e=>{return e.id!==41898282});return t}catch(e){throw new Error(`graphql call to get the committers details failed: ${e}`)}})}t.default=getCommitters;const i=e=>e.author.user||e.committer.user||e.author||e.committer},413:function(e,t,r){e.exports=r(141)},431:function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const o=n(r(87));const s=r(82);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+o.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const i="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=i+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${i}${escapeData(this.message)}`;return e}}function escapeData(e){return s.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return s.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},448:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=r(848);var o=r(523);var s=r(586);var i=r(95);var a=r(813);function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable});r.push.apply(r,n)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach(function(t){_defineProperty(e,t,r[t])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}}return e}const u="3.1.2";class Octokit{constructor(e={}){const t=new o.Collection;const r={baseUrl:s.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};r.headers["user-agent"]=[e.userAgent,`octokit-core.js/${u} ${n.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){r.baseUrl=e.baseUrl}if(e.previews){r.mediaType.previews=e.previews}if(e.timeZone){r.headers["time-zone"]=e.timeZone}this.request=s.request.defaults(r);this.graphql=i.withCustomRequest(this.request).defaults(_objectSpread2(_objectSpread2({},r),{},{baseUrl:r.baseUrl.replace(/\/api\/v3$/,"/api")}));this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=(async()=>({type:"unauthenticated"}))}else{const r=a.createTokenAuth(e.auth);t.wrap("request",r.hook);this.auth=r}}else{const r=e.authStrategy(Object.assign({request:this.request},e.auth));t.wrap("request",r.hook);this.auth=r}const c=this.constructor;c.plugins.forEach(t=>{Object.assign(this,t(this,e))})}static defaults(e){const t=class extends(this){constructor(...t){const r=t[0]||{};if(typeof e==="function"){super(e(r));return}super(Object.assign({},e,r,r.userAgent&&e.userAgent?{userAgent:`${r.userAgent} ${e.userAgent}`}:null))}};return t}static plugin(...e){var t;const r=this.plugins;const n=(t=class extends(this){},t.plugins=r.concat(e.filter(e=>!r.includes(e))),t);return n}}Octokit.VERSION=u;Octokit.plugins=[];t.Octokit=Octokit},450:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var i=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});t.reRunLastWorkFlowIfRequired=void 0;const a=r(469);const u=r(994);const c=s(r(470));function reRunLastWorkFlowIfRequired(){return i(this,void 0,void 0,function*(){if(a.context.eventName==="pull_request"){c.debug(`rerun not required for event - pull_request`);return}const e=yield getBranchOfPullRequest();const t=yield getSelfWorkflowId();const r=yield listWorkflowRunsInBranch(e,t);if(r.data.total_count>0){const e=r.data.workflow_runs[0].id;const t=yield checkIfLastWorkFlowFailed(e);if(t){c.debug(`Rerunning build run ${e}`);yield reRunWorkflow(e).catch(e=>c.error(`Error occurred when re-running the workflow: ${e}`))}}})}t.reRunLastWorkFlowIfRequired=reRunLastWorkFlowIfRequired;function getBranchOfPullRequest(){return i(this,void 0,void 0,function*(){const e=yield u.octokit.pulls.get({owner:a.context.repo.owner,repo:a.context.repo.repo,pull_number:a.context.issue.number});return e.data.head.ref})}function getSelfWorkflowId(){return i(this,void 0,void 0,function*(){const e=yield u.octokit.actions.listRepoWorkflows({owner:a.context.repo.owner,repo:a.context.repo.repo});const t=e.data.workflows.find(e=>e.name==a.context.workflow);if(!t){throw new Error(`Unable to locate this workflow's ID in this repository, can't retrigger job..`)}return t.id})}function listWorkflowRunsInBranch(e,t){return i(this,void 0,void 0,function*(){console.debug(e);const r=yield u.octokit.actions.listWorkflowRuns({owner:a.context.repo.owner,repo:a.context.repo.repo,branch:e,workflow_id:t,event:"pull_request_target"});return r})}function reRunWorkflow(e){return i(this,void 0,void 0,function*(){yield u.octokitUsingPAT.actions.reRunWorkflow({owner:a.context.repo.owner,repo:a.context.repo.repo,run_id:e})})}function checkIfLastWorkFlowFailed(e){return i(this,void 0,void 0,function*(){const t=yield u.octokit.actions.getWorkflowRun({owner:a.context.repo.owner,repo:a.context.repo.repo,run_id:e});return t.data.conclusion=="failure"})}},454:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var n=_interopDefault(r(794));var o=_interopDefault(r(605));var s=_interopDefault(r(835));var i=_interopDefault(r(211));var a=_interopDefault(r(761));const u=n.Readable;const c=Symbol("buffer");const l=Symbol("type");class Blob{constructor(){this[l]="";const e=arguments[0];const t=arguments[1];const r=[];let n=0;if(e){const t=e;const o=Number(t.length);for(let e=0;e<o;e++){const o=t[e];let s;if(o instanceof Buffer){s=o}else if(ArrayBuffer.isView(o)){s=Buffer.from(o.buffer,o.byteOffset,o.byteLength)}else if(o instanceof ArrayBuffer){s=Buffer.from(o)}else if(o instanceof Blob){s=o[c]}else{s=Buffer.from(typeof o==="string"?o:String(o))}n+=s.length;r.push(s)}}this[c]=Buffer.concat(r);let o=t&&t.type!==undefined&&String(t.type).toLowerCase();if(o&&!/[^\u0020-\u007E]/.test(o)){this[l]=o}}get size(){return this[c].length}get type(){return this[l]}text(){return Promise.resolve(this[c].toString())}arrayBuffer(){const e=this[c];const t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(t)}stream(){const e=new u;e._read=function(){};e.push(this[c]);e.push(null);return e}toString(){return"[object Blob]"}slice(){const e=this.size;const t=arguments[0];const r=arguments[1];let n,o;if(t===undefined){n=0}else if(t<0){n=Math.max(e+t,0)}else{n=Math.min(t,e)}if(r===undefined){o=e}else if(r<0){o=Math.max(e+r,0)}else{o=Math.min(r,e)}const s=Math.max(o-n,0);const i=this[c];const a=i.slice(n,n+s);const u=new Blob([],{type:arguments[2]});u[c]=a;return u}}Object.defineProperties(Blob.prototype,{size:{enumerable:true},type:{enumerable:true},slice:{enumerable:true}});Object.defineProperty(Blob.prototype,Symbol.toStringTag,{value:"Blob",writable:false,enumerable:false,configurable:true});function FetchError(e,t,r){Error.call(this,e);this.message=e;this.type=t;if(r){this.code=this.errno=r.code}Error.captureStackTrace(this,this.constructor)}FetchError.prototype=Object.create(Error.prototype);FetchError.prototype.constructor=FetchError;FetchError.prototype.name="FetchError";let p;try{p=r(18).convert}catch(e){}const f=Symbol("Body internals");const d=n.PassThrough;function Body(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},o=r.size;let s=o===undefined?0:o;var i=r.timeout;let a=i===undefined?0:i;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof n);else{e=Buffer.from(String(e))}this[f]={body:e,disturbed:false,error:null};this.size=s;this.timeout=a;if(e instanceof n){e.on("error",function(e){const r=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[f].error=r})}}Body.prototype={get body(){return this[f].body},get bodyUsed(){return this[f].disturbed},arrayBuffer(){return consumeBody.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then(function(t){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[c]:t})})},json(){var e=this;return consumeBody.call(this).then(function(t){try{return JSON.parse(t.toString())}catch(t){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}})},text(){return consumeBody.call(this).then(function(e){return e.toString()})},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then(function(t){return convertBody(t,e.headers)})}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Body.prototype)){if(!(t in e)){const r=Object.getOwnPropertyDescriptor(Body.prototype,t);Object.defineProperty(e,t,r)}}};function consumeBody(){var e=this;if(this[f].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[f].disturbed=true;if(this[f].error){return Body.Promise.reject(this[f].error)}let t=this.body;if(t===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(t)){t=t.stream()}if(Buffer.isBuffer(t)){return Body.Promise.resolve(t)}if(!(t instanceof n)){return Body.Promise.resolve(Buffer.alloc(0))}let r=[];let o=0;let s=false;return new Body.Promise(function(n,i){let a;if(e.timeout){a=setTimeout(function(){s=true;i(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)}t.on("error",function(t){if(t.name==="AbortError"){s=true;i(t)}else{i(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))}});t.on("data",function(t){if(s||t===null){return}if(e.size&&o+t.length>e.size){s=true;i(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}o+=t.length;r.push(t)});t.on("end",function(){if(s){return}clearTimeout(a);try{n(Buffer.concat(r,o))}catch(t){i(new FetchError(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}})})}function convertBody(e,t){if(typeof p!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const r=t.get("content-type");let n="utf-8";let o,s;if(r){o=/charset=([^;]*)/i.exec(r)}s=e.slice(0,1024).toString();if(!o&&s){o=/<meta.+?charset=(['"])(.+?)\1/i.exec(s)}if(!o&&s){o=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(s);if(!o){o=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(s);if(o){o.pop()}}if(o){o=/charset=(.*)/i.exec(o.pop())}}if(!o&&s){o=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(s)}if(o){n=o.pop();if(n==="gb2312"||n==="gbk"){n="gb18030"}}return p(e,"UTF-8",n).toString()}function isURLSearchParams(e){if(typeof e!=="object"||typeof e.append!=="function"||typeof e.delete!=="function"||typeof e.get!=="function"||typeof e.getAll!=="function"||typeof e.has!=="function"||typeof e.set!=="function"){return false}return e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort==="function"}function isBlob(e){return typeof e==="object"&&typeof e.arrayBuffer==="function"&&typeof e.type==="string"&&typeof e.stream==="function"&&typeof e.constructor==="function"&&typeof e.constructor.name==="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function clone(e){let t,r;let o=e.body;if(e.bodyUsed){throw new Error("cannot clone body after it is used")}if(o instanceof n&&typeof o.getBoundary!=="function"){t=new d;r=new d;o.pipe(t);o.pipe(r);e[f].body=t;o=r}return o}function extractContentType(e){if(e===null){return null}else if(typeof e==="string"){return"text/plain;charset=UTF-8"}else if(isURLSearchParams(e)){return"application/x-www-form-urlencoded;charset=UTF-8"}else if(isBlob(e)){return e.type||null}else if(Buffer.isBuffer(e)){return null}else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){return null}else if(ArrayBuffer.isView(e)){return null}else if(typeof e.getBoundary==="function"){return`multipart/form-data;boundary=${e.getBoundary()}`}else if(e instanceof n){return null}else{return"text/plain;charset=UTF-8"}}function getTotalBytes(e){const t=e.body;if(t===null){return 0}else if(isBlob(t)){return t.size}else if(Buffer.isBuffer(t)){return t.length}else if(t&&typeof t.getLengthSync==="function"){if(t._lengthRetrievers&&t._lengthRetrievers.length==0||t.hasKnownLength&&t.hasKnownLength()){return t.getLengthSync()}return null}else{return null}}function writeToStream(e,t){const r=t.body;if(r===null){e.end()}else if(isBlob(r)){r.stream().pipe(e)}else if(Buffer.isBuffer(r)){e.write(r);e.end()}else{r.pipe(e)}}Body.Promise=global.Promise;const h=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;const g=/[^\t\x20-\x7e\x80-\xff]/;function validateName(e){e=`${e}`;if(h.test(e)||e===""){throw new TypeError(`${e} is not a legal HTTP header name`)}}function validateValue(e){e=`${e}`;if(g.test(e)){throw new TypeError(`${e} is not a legal HTTP header value`)}}function find(e,t){t=t.toLowerCase();for(const r in e){if(r.toLowerCase()===t){return r}}return undefined}const m=Symbol("map");class Headers{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;this[m]=Object.create(null);if(e instanceof Headers){const t=e.raw();const r=Object.keys(t);for(const e of r){for(const r of t[e]){this.append(e,r)}}return}if(e==null);else if(typeof e==="object"){const t=e[Symbol.iterator];if(t!=null){if(typeof t!=="function"){throw new TypeError("Header pairs must be iterable")}const r=[];for(const t of e){if(typeof t!=="object"||typeof t[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}r.push(Array.from(t))}for(const e of r){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const t of Object.keys(e)){const r=e[t];this.append(t,r)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const t=find(this[m],e);if(t===undefined){return null}return this[m][t].join(", ")}forEach(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let r=getHeaders(this);let n=0;while(n<r.length){var o=r[n];const s=o[0],i=o[1];e.call(t,i,s,this);r=getHeaders(this);n++}}set(e,t){e=`${e}`;t=`${t}`;validateName(e);validateValue(t);const r=find(this[m],e);this[m][r!==undefined?r:e]=[t]}append(e,t){e=`${e}`;t=`${t}`;validateName(e);validateValue(t);const r=find(this[m],e);if(r!==undefined){this[m][r].push(t)}else{this[m][e]=[t]}}has(e){e=`${e}`;validateName(e);return find(this[m],e)!==undefined}delete(e){e=`${e}`;validateName(e);const t=find(this[m],e);if(t!==undefined){delete this[m][t]}}raw(){return this[m]}keys(){return createHeadersIterator(this,"key")}values(){return createHeadersIterator(this,"value")}[Symbol.iterator](){return createHeadersIterator(this,"key+value")}}Headers.prototype.entries=Headers.prototype[Symbol.iterator];Object.defineProperty(Headers.prototype,Symbol.toStringTag,{value:"Headers",writable:false,enumerable:false,configurable:true});Object.defineProperties(Headers.prototype,{get:{enumerable:true},forEach:{enumerable:true},set:{enumerable:true},append:{enumerable:true},has:{enumerable:true},delete:{enumerable:true},keys:{enumerable:true},values:{enumerable:true},entries:{enumerable:true}});function getHeaders(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"key+value";const r=Object.keys(e[m]).sort();return r.map(t==="key"?function(e){return e.toLowerCase()}:t==="value"?function(t){return e[m][t].join(", ")}:function(t){return[t.toLowerCase(),e[m][t].join(", ")]})}const b=Symbol("internal");function createHeadersIterator(e,t){const r=Object.create(y);r[b]={target:e,kind:t,index:0};return r}const y=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==y){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[b];const t=e.target,r=e.kind,n=e.index;const o=getHeaders(t,r);const s=o.length;if(n>=s){return{value:undefined,done:true}}this[b].index=n+1;return{value:o[n],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(y,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const t=Object.assign({__proto__:null},e[m]);const r=find(e[m],"Host");if(r!==undefined){t[r]=t[r][0]}return t}function createHeadersLenient(e){const t=new Headers;for(const r of Object.keys(e)){if(h.test(r)){continue}if(Array.isArray(e[r])){for(const n of e[r]){if(g.test(n)){continue}if(t[m][r]===undefined){t[m][r]=[n]}else{t[m][r].push(n)}}}else if(!g.test(e[r])){t[m][r]=[e[r]]}}return t}const v=Symbol("Response internals");const w=o.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,t);const r=t.status||200;const n=new Headers(t.headers);if(e!=null&&!n.has("Content-Type")){const t=extractContentType(e);if(t){n.append("Content-Type",t)}}this[v]={url:t.url,status:r,statusText:t.statusText||w[r],headers:n,counter:t.counter}}get url(){return this[v].url||""}get status(){return this[v].status}get ok(){return this[v].status>=200&&this[v].status<300}get redirected(){return this[v].counter>0}get statusText(){return this[v].statusText}get headers(){return this[v].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const _=Symbol("Request internals");const T=s.parse;const E=s.format;const O="destroy"in n.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[_]==="object"}function isAbortSignal(e){const t=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}class Request{constructor(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let r;if(!isRequest(e)){if(e&&e.href){r=T(e.href)}else{r=T(`${e}`)}e={}}else{r=T(e.url)}let n=t.method||e.method||"GET";n=n.toUpperCase();if((t.body!=null||isRequest(e)&&e.body!==null)&&(n==="GET"||n==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let o=t.body!=null?t.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,o,{timeout:t.timeout||e.timeout||0,size:t.size||e.size||0});const s=new Headers(t.headers||e.headers||{});if(o!=null&&!s.has("Content-Type")){const e=extractContentType(o);if(e){s.append("Content-Type",e)}}let i=isRequest(e)?e.signal:null;if("signal"in t)i=t.signal;if(i!=null&&!isAbortSignal(i)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[_]={method:n,redirect:t.redirect||e.redirect||"follow",headers:s,parsedURL:r,signal:i};this.follow=t.follow!==undefined?t.follow:e.follow!==undefined?e.follow:20;this.compress=t.compress!==undefined?t.compress:e.compress!==undefined?e.compress:true;this.counter=t.counter||e.counter||0;this.agent=t.agent||e.agent}get method(){return this[_].method}get url(){return E(this[_].parsedURL)}get headers(){return this[_].headers}get redirect(){return this[_].redirect}get signal(){return this[_].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const t=e[_].parsedURL;const r=new Headers(e[_].headers);if(!r.has("Accept")){r.set("Accept","*/*")}if(!t.protocol||!t.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(t.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof n.Readable&&!O){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let o=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){o="0"}if(e.body!=null){const t=getTotalBytes(e);if(typeof t==="number"){o=String(t)}}if(o){r.set("Content-Length",o)}if(!r.has("User-Agent")){r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!r.has("Accept-Encoding")){r.set("Accept-Encoding","gzip,deflate")}let s=e.agent;if(typeof s==="function"){s=s(t)}if(!r.has("Connection")&&!s){r.set("Connection","close")}return Object.assign({},t,{method:e.method,headers:exportNodeCompatibleHeaders(r),agent:s})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=n.PassThrough;const S=s.resolve;function fetch(e,t){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise(function(r,s){const u=new Request(e,t);const c=getNodeRequestOptions(u);const l=(c.protocol==="https:"?i:o).request;const p=u.signal;let f=null;const d=function abort(){let e=new AbortError("The user aborted a request.");s(e);if(u.body&&u.body instanceof n.Readable){u.body.destroy(e)}if(!f||!f.body)return;f.body.emit("error",e)};if(p&&p.aborted){d();return}const h=function abortAndFinalize(){d();finalize()};const g=l(c);let m;if(p){p.addEventListener("abort",h)}function finalize(){g.abort();if(p)p.removeEventListener("abort",h);clearTimeout(m)}if(u.timeout){g.once("socket",function(e){m=setTimeout(function(){s(new FetchError(`network timeout at: ${u.url}`,"request-timeout"));finalize()},u.timeout)})}g.on("error",function(e){s(new FetchError(`request to ${u.url} failed, reason: ${e.message}`,"system",e));finalize()});g.on("response",function(e){clearTimeout(m);const t=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const n=t.get("Location");const o=n===null?null:S(u.url,n);switch(u.redirect){case"error":s(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${u.url}`,"no-redirect"));finalize();return;case"manual":if(o!==null){try{t.set("Location",o)}catch(e){s(e)}}break;case"follow":if(o===null){break}if(u.counter>=u.follow){s(new FetchError(`maximum redirect reached at: ${u.url}`,"max-redirect"));finalize();return}const n={headers:new Headers(u.headers),follow:u.follow,counter:u.counter+1,agent:u.agent,compress:u.compress,method:u.method,body:u.body,signal:u.signal,timeout:u.timeout,size:u.size};if(e.statusCode!==303&&u.body&&getTotalBytes(u)===null){s(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&u.method==="POST"){n.method="GET";n.body=undefined;n.headers.delete("content-length")}r(fetch(new Request(o,n)));finalize();return}}e.once("end",function(){if(p)p.removeEventListener("abort",h)});let n=e.pipe(new k);const o={url:u.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:u.size,timeout:u.timeout,counter:u.counter};const i=t.get("Content-Encoding");if(!u.compress||u.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){f=new Response(n,o);r(f);return}const c={flush:a.Z_SYNC_FLUSH,finishFlush:a.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){n=n.pipe(a.createGunzip(c));f=new Response(n,o);r(f);return}if(i=="deflate"||i=="x-deflate"){const t=e.pipe(new k);t.once("data",function(e){if((e[0]&15)===8){n=n.pipe(a.createInflate())}else{n=n.pipe(a.createInflateRaw())}f=new Response(n,o);r(f)});return}if(i=="br"&&typeof a.createBrotliDecompress==="function"){n=n.pipe(a.createBrotliDecompress());f=new Response(n,o);r(f);return}f=new Response(n,o);r(f)});writeToStream(g,u)})}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=t=fetch;Object.defineProperty(t,"__esModule",{value:true});t.default=t;t.Headers=Headers;t.Request=Request;t.Response=Response;t.FetchError=FetchError},469:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const i=s(r(262));const a=r(521);t.context=new i.Context;function getOctokit(e,t){return new a.GitHub(a.getOctokitOptions(e,t))}t.getOctokit=getOctokit},470:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const s=r(431);const i=r(102);const a=r(82);const u=o(r(87));const c=o(r(622));var l;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(l=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=a.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){const t="_GitHubActionsFileCommandDelimeter_";const n=`${e}<<${t}${u.EOL}${r}${u.EOL}${t}`;i.issueCommand("ENV",n)}else{s.issueCommand("set-env",{name:e},r)}}t.exportVariable=exportVariable;function setSecret(e){s.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){i.issueCommand("PATH",e)}else{s.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}return r.trim()}t.getInput=getInput;function setOutput(e,t){s.issueCommand("set-output",{name:e},t)}t.setOutput=setOutput;function setCommandEcho(e){s.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=l.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){s.issueCommand("debug",{},e)}t.debug=debug;function error(e){s.issue("error",e instanceof Error?e.toString():e)}t.error=error;function warning(e){s.issue("warning",e instanceof Error?e.toString():e)}t.warning=warning
...
ibakshay commented 2 years ago

Hi @jsoref, I am sorry for the late response. I am working on it. I will write you here, once I come up with a solution :)

ZoranPandovski commented 2 years ago

@ibakshay is this resolved?

jsoref commented 2 years ago

No worries. I'm slow and deliberate about fixes for my action.

ibakshay commented 2 years ago

Hi @ZoranPandovski, @jsoref, I have improved the error handling when a PR is from forked with this Pull request. I have also released a new version that has this changes.