Try things

This commit is contained in:
mitchellhamilton
2019-08-14 21:13:54 +10:00
parent eafb4bf396
commit 65f52cee82
2 changed files with 11 additions and 8 deletions
+1 -1
View File
@@ -285,5 +285,5 @@ var r;try{r=require("graceful-fs")}catch(s){r=require("fs")}function e(e,n,t){nu
},{"universalify":"BgiA","graceful-fs":"X4Hm","../mkdirs":"K9sR","../path-exists":"EriC"}],"JTJ9":[function(require,module,exports) { },{"universalify":"BgiA","graceful-fs":"X4Hm","../mkdirs":"K9sR","../path-exists":"EriC"}],"JTJ9":[function(require,module,exports) {
"use strict";module.exports=Object.assign({},require("./fs"),require("./copy-sync"),require("./copy"),require("./empty"),require("./ensure"),require("./json"),require("./mkdirs"),require("./move-sync"),require("./move"),require("./output"),require("./path-exists"),require("./remove"));const e=require("fs");Object.getOwnPropertyDescriptor(e,"promises")&&Object.defineProperty(module.exports,"promises",{get:()=>e.promises}); "use strict";module.exports=Object.assign({},require("./fs"),require("./copy-sync"),require("./copy"),require("./empty"),require("./ensure"),require("./json"),require("./mkdirs"),require("./move-sync"),require("./move"),require("./output"),require("./path-exists"),require("./remove"));const e=require("fs");Object.getOwnPropertyDescriptor(e,"promises")&&Object.defineProperty(module.exports,"promises",{get:()=>e.promises});
},{"./fs":"NeZP","./copy-sync":"7ntm","./copy":"vWuT","./empty":"1Xa3","./ensure":"QssT","./json":"tcuq","./mkdirs":"K9sR","./move-sync":"z7nh","./move":"Vp9L","./output":"jQOt","./path-exists":"EriC","./remove":"0UN6"}],"7QCb":[function(require,module,exports) { },{"./fs":"NeZP","./copy-sync":"7ntm","./copy":"vWuT","./empty":"1Xa3","./ensure":"QssT","./json":"tcuq","./mkdirs":"K9sR","./move-sync":"z7nh","./move":"Vp9L","./output":"jQOt","./path-exists":"EriC","./remove":"0UN6"}],"7QCb":[function(require,module,exports) {
"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var s=null!=arguments[r]?arguments[r]:{};r%2?e(s,!0).forEach(function(e){n(t,e,s[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(s)):e(s).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(s,e))})}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const a=r(require("@actions/core")),o=require("@actions/exec"),i=r(require("@actions/github")),c=s(require("fs-extra"));async function l(e,n,r){let s="",a="";return{code:await o.exec(e,n,t({listeners:{stdout:e=>{s+=e.toString()},stderr:e=>{a+=e.toString()}}},r)),stdout:s,stderr:a}}(async()=>{let e=process.env.GITHUB_TOKEN;if(!e)return void a.setFailed("Please add the GITHUB_TOKEN to the changesets action");let n=`${i.context.repo.owner}/${i.context.repo.repo}`;const r=new i.GitHub(e);let s=r.repos.get(i.context.repo).then(e=>e.data.default_branch);console.log("setting git user"),await o.exec("git",["config","--global","user.name",'"github-actions[bot]"']),await o.exec("git",["config","--global","user.email",'"github-actions[bot]@users.noreply.github.com"']),await o.exec("git",["remote","add","gh-https",`https://github.com/${n}`]),console.log("setting GitHub credentials"),await c.default.writeFile(`${process.env.HOME}/.netrc`,`machine github.com\nlogin github-actions[bot]\npassword ${e}`);let u=await s;if(i.context.ref.replace("refs/heads/","")!==u)return void a.setFailed(`The changesets action should only run on ${u} but it's running on ${i.context.ref.replace("refs/heads/","")}, please change your GitHub actions config to only run the Changesets action on ${u}`);let g=c.default.readdirSync(`${process.cwd()}/.changeset`).some(e=>"config.js"!==e&&"README.md"!==e),h=a.getInput("publish");if(!g&&h){console.log("No changesets found, attempting to publish any unpublished packages to npm"),c.default.writeFileSync(`${process.env.HOME}/.npmrc`,`//registry.npmjs.org/:_authToken=${process.env.NPM_TOKEN}`);let[e,...t]=h.split(/\s+/);return await o.exec(e,t),void(await o.exec("git",["push","--follow-tags","gh-https","master"]))}let{stderr:d}=await l("git",["checkout","changeset-release"],{ignoreReturnCode:!0}),p=!d.toString().includes("Switched to a new branch 'changeset-release'");p&&await o.exec("git",["checkout","-b","changeset-release"]);let f=p;if(!f){console.log("checking if new changesets should be added");const e=(await l("git",["merge-base","changeset-release","master"])).stdout.trim();f=(await l("git",["diff","--name-only",`${e}...master`])).stdout.trim().includes(".changeset"),console.log("checked if new changesets should be added "+f)}if(f){await o.exec("git",["reset","--hard","master"]),await o.exec("yarn",["changeset","bump"]),await o.exec("git",["add","."]),await o.exec("git",["commit","-m","Version Packages"]),await o.exec("git",["push","gh-https","changeset-release","--force"]);let e=`repo:${n}+state:open+head:changeset-release+base:master`,s=await r.search.issuesAndPullRequests({q:e});console.log(JSON.stringify(s.data,null,2)),0===s.data.items.length?(console.log("creating pull request"),await r.pulls.create(t({base:"master",head:"changeset-release",title:"Version Packages"},i.context.repo))):console.log("pull request found")}else console.log("no new changesets")})(); "use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(o,!0).forEach(function(e){n(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(o).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const s=r(require("@actions/core")),a=require("@actions/exec"),i=r(require("@actions/github")),c=o(require("fs-extra"));async function l(e,n,r){let o="",s="";return{code:await a.exec(e,n,t({listeners:{stdout:e=>{o+=e.toString()},stderr:e=>{s+=e.toString()}}},r)),stdout:o,stderr:s}}(async()=>{let e=process.env.GITHUB_TOKEN;if(!e)return void s.setFailed("Please add the GITHUB_TOKEN to the changesets action");let n=`${i.context.repo.owner}/${i.context.repo.repo}`;const r=new i.GitHub(e);let o=r.repos.get(i.context.repo).then(e=>e.data.default_branch);console.log("setting git user"),await a.exec("git",["config","--global","user.name",'"github-actions[bot]"']),await a.exec("git",["config","--global","user.email",'"github-actions[bot]@users.noreply.github.com"']),await a.exec("git",["remote","add","gh-https",`https://github.com/${n}`]),console.log("setting GitHub credentials"),await c.default.writeFile(`${process.env.HOME}/.netrc`,`machine github.com\nlogin github-actions[bot]\npassword ${e}`);let u=await o;if(i.context.ref.replace("refs/heads/","")!==u)return void s.setFailed(`The changesets action should only run on ${u} but it's running on ${i.context.ref.replace("refs/heads/","")}, please change your GitHub actions config to only run the Changesets action on ${u}`);let g=c.default.readdirSync(`${process.cwd()}/.changeset`).some(e=>"config.js"!==e&&"README.md"!==e),h=s.getInput("publish");if(!g&&h){console.log("No changesets found, attempting to publish any unpublished packages to npm"),c.default.writeFileSync(`${process.env.HOME}/.npmrc`,`//registry.npmjs.org/:_authToken=${process.env.NPM_TOKEN}`);let[e,...t]=h.split(/\s+/);return await a.exec(e,t),void(await a.exec("git",["push","--follow-tags","gh-https",u]))}let{stderr:d}=await l("git",["checkout","changeset-release"],{ignoreReturnCode:!0}),p=!d.toString().includes("Switched to a new branch 'changeset-release'");p&&await a.exec("git",["checkout","-b","changeset-release"]);let f=p;if(!f){console.log("checking if new changesets should be added");const e=(await l("git",["merge-base","changeset-release",i.context.ref])).stdout.trim();f=(await l("git",["diff","--name-only",`${e}...${i.context.ref}`])).stdout.trim().includes(".changeset"),console.log("checked if new changesets should be added "+f)}if(f){await a.exec("git",["reset","--hard",i.context.ref]),await a.exec("yarn",["changeset","bump"]),await a.exec("git",["add","."]),await a.exec("git",["commit","-m","Version Packages"]),await a.exec("git",["push","gh-https","changeset-release","--force"]);let e=`repo:${n}+state:open+head:changeset-release+base:${u}`,o=await r.search.issuesAndPullRequests({q:e});console.log(JSON.stringify(o.data,null,2)),0===o.data.items.length?(console.log("creating pull request"),await r.pulls.create(t({base:u,head:"changeset-release",title:"Version Packages"},i.context.repo))):console.log("pull request found")}else console.log("no new changesets")})().catch(e=>{console.error(e),s.setFailed(e.message)});
},{"@actions/core":"4FTV","@actions/exec":"utFe","@actions/github":"8Dol","fs-extra":"JTJ9"}]},{},["7QCb"], null) },{"@actions/core":"4FTV","@actions/exec":"utFe","@actions/github":"8Dol","fs-extra":"JTJ9"}]},{},["7QCb"], null)
+10 -7
View File
@@ -99,7 +99,7 @@ async function execWithOutput(
await exec(publishCommand, publishArgs); await exec(publishCommand, publishArgs);
await exec("git", ["push", "--follow-tags", "gh-https", "master"]); await exec("git", ["push", "--follow-tags", "gh-https", defaultBranch]);
return; return;
} }
@@ -123,26 +123,26 @@ async function execWithOutput(
let cmd = await execWithOutput("git", [ let cmd = await execWithOutput("git", [
"merge-base", "merge-base",
"changeset-release", "changeset-release",
"master" github.context.ref
]); ]);
const divergedAt = cmd.stdout.trim(); const divergedAt = cmd.stdout.trim();
let diffOutput = await execWithOutput("git", [ let diffOutput = await execWithOutput("git", [
"diff", "diff",
"--name-only", "--name-only",
`${divergedAt}...master` `${divergedAt}...${github.context.ref}`
]); ]);
const files = diffOutput.stdout.trim(); const files = diffOutput.stdout.trim();
shouldBump = files.includes(".changeset"); shouldBump = files.includes(".changeset");
console.log("checked if new changesets should be added " + shouldBump); console.log("checked if new changesets should be added " + shouldBump);
} }
if (shouldBump) { if (shouldBump) {
await exec("git", ["reset", "--hard", "master"]); await exec("git", ["reset", "--hard", github.context.ref]);
await exec("yarn", ["changeset", "bump"]); await exec("yarn", ["changeset", "bump"]);
await exec("git", ["add", "."]); await exec("git", ["add", "."]);
await exec("git", ["commit", "-m", "Version Packages"]); await exec("git", ["commit", "-m", "Version Packages"]);
await exec("git", ["push", "gh-https", "changeset-release", "--force"]); await exec("git", ["push", "gh-https", "changeset-release", "--force"]);
let searchQuery = `repo:${repo}+state:open+head:changeset-release+base:master`; let searchQuery = `repo:${repo}+state:open+head:changeset-release+base:${defaultBranch}`;
let searchResult = await octokit.search.issuesAndPullRequests({ let searchResult = await octokit.search.issuesAndPullRequests({
q: searchQuery q: searchQuery
}); });
@@ -150,7 +150,7 @@ async function execWithOutput(
if (searchResult.data.items.length === 0) { if (searchResult.data.items.length === 0) {
console.log("creating pull request"); console.log("creating pull request");
await octokit.pulls.create({ await octokit.pulls.create({
base: "master", base: defaultBranch,
head: "changeset-release", head: "changeset-release",
title: "Version Packages", title: "Version Packages",
...github.context.repo ...github.context.repo
@@ -161,4 +161,7 @@ async function execWithOutput(
} else { } else {
console.log("no new changesets"); console.log("no new changesets");
} }
})(); })().catch(err => {
console.error(err);
core.setFailed(err.message);
});