Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
jsoref opened this issue Mar 28, 2022 · 4 comments
Closed

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

jsoref opened this issue Mar 28, 2022 · 4 comments
Labels
bug Something isn't working

Comments

@jsoref
Copy link

jsoref commented Mar 28, 2022

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
...
@jsoref jsoref added the bug Something isn't working label Mar 28, 2022
@ibakshay
Copy link
Member

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
Copy link

@ibakshay is this resolved?

@jsoref
Copy link
Author

jsoref commented Jul 18, 2022

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

@ibakshay
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants