Prevent attempt to publish to npm (#4239)
This commit is contained in:
13
package-lock.json
generated
13
package-lock.json
generated
@ -48,6 +48,7 @@
|
|||||||
"solidity-ast": "^0.4.25",
|
"solidity-ast": "^0.4.25",
|
||||||
"solidity-coverage": "^0.8.0",
|
"solidity-coverage": "^0.8.0",
|
||||||
"solidity-docgen": "^0.6.0-beta.29",
|
"solidity-docgen": "^0.6.0-beta.29",
|
||||||
|
"undici": "^5.22.1",
|
||||||
"web3": "^1.3.0",
|
"web3": "^1.3.0",
|
||||||
"yargs": "^17.0.0"
|
"yargs": "^17.0.0"
|
||||||
}
|
}
|
||||||
@ -15175,9 +15176,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/undici": {
|
"node_modules/undici": {
|
||||||
"version": "5.22.0",
|
"version": "5.22.1",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz",
|
||||||
"integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==",
|
"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"busboy": "^1.6.0"
|
"busboy": "^1.6.0"
|
||||||
@ -27985,9 +27986,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"undici": {
|
"undici": {
|
||||||
"version": "5.22.0",
|
"version": "5.22.1",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz",
|
||||||
"integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==",
|
"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"busboy": "^1.6.0"
|
"busboy": "^1.6.0"
|
||||||
|
|||||||
@ -89,6 +89,7 @@
|
|||||||
"solidity-ast": "^0.4.25",
|
"solidity-ast": "^0.4.25",
|
||||||
"solidity-coverage": "^0.8.0",
|
"solidity-coverage": "^0.8.0",
|
||||||
"solidity-docgen": "^0.6.0-beta.29",
|
"solidity-docgen": "^0.6.0-beta.29",
|
||||||
|
"undici": "^5.22.1",
|
||||||
"web3": "^1.3.0",
|
"web3": "^1.3.0",
|
||||||
"yargs": "^17.0.0"
|
"yargs": "^17.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
const { readPreState } = require('@changesets/pre');
|
const { readPreState } = require('@changesets/pre');
|
||||||
const { default: readChangesets } = require('@changesets/read');
|
const { default: readChangesets } = require('@changesets/read');
|
||||||
const { join } = require('path');
|
const { join } = require('path');
|
||||||
const { version } = require(join(__dirname, '../../../package.json'));
|
const { fetch } = require('undici');
|
||||||
|
const { version, name: packageName } = require(join(__dirname, '../../../contracts/package.json'));
|
||||||
|
|
||||||
module.exports = async ({ github, context, core }) => {
|
module.exports = async ({ github, context, core }) => {
|
||||||
const state = await getState({ github, context, core });
|
const state = await getState({ github, context, core });
|
||||||
@ -34,8 +35,8 @@ function shouldRunChangesets({ isReleaseBranch, isPush, isWorkflowDispatch, botR
|
|||||||
return (isReleaseBranch && isPush) || (isReleaseBranch && isWorkflowDispatch && botRun);
|
return (isReleaseBranch && isPush) || (isReleaseBranch && isWorkflowDispatch && botRun);
|
||||||
}
|
}
|
||||||
|
|
||||||
function shouldRunPublish({ isReleaseBranch, isPush, hasPendingChangesets }) {
|
function shouldRunPublish({ isReleaseBranch, isPush, hasPendingChangesets, isPublishedOnNpm }) {
|
||||||
return isReleaseBranch && isPush && !hasPendingChangesets;
|
return isReleaseBranch && isPush && !hasPendingChangesets && !isPublishedOnNpm;
|
||||||
}
|
}
|
||||||
|
|
||||||
function shouldRunMerge({
|
function shouldRunMerge({
|
||||||
@ -80,6 +81,8 @@ async function getState({ github, context, core }) {
|
|||||||
|
|
||||||
state.prBackExists = prs.length === 0;
|
state.prBackExists = prs.length === 0;
|
||||||
|
|
||||||
|
state.isPublishedOnNpm = await isPublishedOnNpm(packageName, version);
|
||||||
|
|
||||||
// Log every state value in debug mode
|
// Log every state value in debug mode
|
||||||
if (core.isDebug()) for (const [key, value] of Object.entries(state)) core.debug(`${key}: ${value}`);
|
if (core.isDebug()) for (const [key, value] of Object.entries(state)) core.debug(`${key}: ${value}`);
|
||||||
|
|
||||||
@ -102,3 +105,8 @@ async function readChangesetState(cwd = process.cwd()) {
|
|||||||
changesets,
|
changesets,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function isPublishedOnNpm(package, version) {
|
||||||
|
const res = await fetch(`https://registry.npmjs.com/${package}/${version}`);
|
||||||
|
return res.ok;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user