Set sha only when defined

This commit is contained in:
lowlighter committed 2020-10-18 02:05:48 +02:00
1 parent 48426cd16f
commit 889bf6fa49
2 files changed
+4 -3

No files matched your search

+1 -1
View File
@@ -595,4 +595,4 @@ module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t
}
}
}
`;console.log(`Templates | loaded`);const s=e.getInput("token");console.log(`Github token | ${s?"provided":"missing"}`);if(!s)throw new Error("You must provide a valid GitHub token");const c=r.graphql.defaults({headers:{authorization:`token ${s}`}});console.log(`Github GraphQL API | ok`);const d=t.getOctokit(s);console.log(`Github REST API | ok`);const p=e.getInput("filename")||"github-metrics.svg";const m=i().join(p);console.log(`SVG output file | ${m}`);const f=u(e.getInput("optimize"),true);console.log(`SVG optimization | ${f}`);const h=e.getInput("user")||(await d.users.getAuthenticated()).data.login;console.log(`GitHub user | ${h}`);const g=u(e.getInput("debug"));if(!g)console.debug=(()=>null);console.log(`Debug mode | ${g}`);const y={lines:{enabled:u(e.getInput("plugin_lines"))},traffic:{enabled:u(e.getInput("plugin_traffic"))},pagespeed:{enabled:u(e.getInput("plugin_pagespeed"))},habits:{enabled:u(e.getInput("plugin_habits"))},selfskip:{enabled:u(e.getInput("plugin_selfskip"))}};const v=Object.fromEntries(Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>[e,true]));console.log(`Plugins enabled | ${Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>e).join(", ")}`);if(y.pagespeed.enabled){y.pagespeed.token=e.getInput("pagespeed_token");console.log(`Pagespeed token | ${y.pagespeed.token?"provided":"missing"}`)}const b=await l({login:h,q:v},{template:n,style:a,query:o,graphql:c,rest:d,plugins:y,optimize:f});console.log(`Render | complete`);{const r=e.getInput("committer_token")||e.getInput("token");console.log(`Committer token | ${r?"provided":"missing"}`);if(!r)throw new Error("You must provide a valid GitHub token");const n=t.getOctokit(r);console.log(`Committer REST API | ok`);console.log(`Committer | ${(await n.users.getAuthenticated()).data.login}`);let i=undefined;try{const{data:e}=await n.repos.getContent({owner:h,repo:h,path:p});i=e.sha}catch(e){}console.log(`Previous render sha | ${i||"none"}`);await n.repos.createOrUpdateFileContents({owner:h,repo:h,path:p,sha:i,message:`Update ${p} - [Skip GitHub Action]`,content:Buffer.from(b).toString("base64")});console.log(`Commit to repo | ok`)}console.log(`Success !`);process.exit(0)}catch(t){console.error(t);e.setFailed(t.message);process.exit(1)}})().catch(e=>process.exit(1))},12541: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 i=n(r(12087));const a=r(74332);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+i.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const o="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=o+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+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},32882: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,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var i=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 a=r(12541);const o=r(29582);const s=r(74332);const l=i(r(12087));const c=i(r(85622));var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=s.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){const t="_GitHubActionsFileCommandDelimeter_";const n=`${e}<<${t}${l.EOL}${r}${l.EOL}${t}`;o.issueCommand("ENV",n)}else{a.issueCommand("set-env",{name:e},r)}}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){o.issueCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath=addPath; Line truncated
`;console.log(`Templates | loaded`);const s=e.getInput("token");console.log(`Github token | ${s?"provided":"missing"}`);if(!s)throw new Error("You must provide a valid GitHub token");const c=r.graphql.defaults({headers:{authorization:`token ${s}`}});console.log(`Github GraphQL API | ok`);const d=t.getOctokit(s);console.log(`Github REST API | ok`);const p=e.getInput("filename")||"github-metrics.svg";const m=i().join(p);console.log(`SVG output file | ${m}`);const f=u(e.getInput("optimize"),true);console.log(`SVG optimization | ${f}`);const h=e.getInput("user")||(await d.users.getAuthenticated()).data.login;console.log(`GitHub user | ${h}`);const g=u(e.getInput("debug"));if(!g)console.debug=(()=>null);console.log(`Debug mode | ${g}`);const y={lines:{enabled:u(e.getInput("plugin_lines"))},traffic:{enabled:u(e.getInput("plugin_traffic"))},pagespeed:{enabled:u(e.getInput("plugin_pagespeed"))},habits:{enabled:u(e.getInput("plugin_habits"))},selfskip:{enabled:u(e.getInput("plugin_selfskip"))}};const v=Object.fromEntries(Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>[e,true]));console.log(`Plugins enabled | ${Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>e).join(", ")}`);if(y.pagespeed.enabled){y.pagespeed.token=e.getInput("pagespeed_token");console.log(`Pagespeed token | ${y.pagespeed.token?"provided":"missing"}`)}const b=await l({login:h,q:v},{template:n,style:a,query:o,graphql:c,rest:d,plugins:y,optimize:f});console.log(`Render | complete`);{const r=e.getInput("committer_token")||e.getInput("token");console.log(`Committer token | ${r?"provided":"missing"}`);if(!r)throw new Error("You must provide a valid GitHub token");const n=t.getOctokit(r);console.log(`Committer REST API | ok`);console.log(`Committer | ${(await n.users.getAuthenticated()).data.login}`);let i=null;try{const{data:e}=await n.repos.getContent({owner:h,repo:h,path:p});i=e.sha}catch(e){}console.log(`Previous render sha | ${i||"none"}`);await n.repos.createOrUpdateFileContents({owner:h,repo:h,path:p,message:`Update ${p} - [Skip GitHub Action]`,content:Buffer.from(b).toString("base64"),...i?{sha:i}:{}});console.log(`Commit to repo | ok`)}console.log(`Success !`);process.exit(0)}catch(t){console.error(t);e.setFailed(t.message);process.exit(1)}})().catch(e=>process.exit(1))},12541: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 i=n(r(12087));const a=r(74332);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+i.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const o="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=o+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+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},32882: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,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var i=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 a=r(12541);const o=r(29582);const s=r(74332);const l=i(r(12087));const c=i(r(85622));var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=s.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){const t="_GitHubActionsFileCommandDelimeter_";const n=`${e}<<${t}${l.EOL}${r}${l.EOL}${t}`;o.issueCommand("ENV",n)}else{a.issueCommand("set-env",{name:e},r)}}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){o.issueCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath=add Line truncated
+3 -2
View File
@@ -91,7 +91,7 @@
console.log(`Committer REST API | ok`)
console.log(`Committer | ${(await rest.users.getAuthenticated()).data.login}`)
//Retrieve previous render SHA to be able to update file content through API
let sha = undefined
let sha = null
try {
const {data} = await rest.repos.getContent({
owner:user,
@@ -103,8 +103,9 @@
console.log(`Previous render sha | ${sha || "none"}`)
//Update file content through API
await rest.repos.createOrUpdateFileContents({
owner:user, repo:user, path:filename, sha, message:`Update ${filename} - [Skip GitHub Action]`,
owner:user, repo:user, path:filename, message:`Update ${filename} - [Skip GitHub Action]`,
content:Buffer.from(rendered).toString("base64"),
...(sha ? {sha} : {})
})
console.log(`Commit to repo | ok`)
}