Move most of code for getting latest tag/version and calling publish_release to postpublish_utils script in top-level dir
This commit is contained in:
		| @@ -70,7 +70,6 @@ | ||||
|     "prompt": "^1.0.0", | ||||
|     "request": "^2.81.0", | ||||
|     "request-promise-native": "^1.0.4", | ||||
|     "semver-sort": "^0.0.4", | ||||
|     "shx": "^0.2.2", | ||||
|     "sinon": "^4.0.0", | ||||
|     "source-map-support": "^0.5.0", | ||||
| @@ -90,14 +89,12 @@ | ||||
|     "bignumber.js": "~4.1.0", | ||||
|     "bn.js": "4.11.8", | ||||
|     "compare-versions": "^3.0.1", | ||||
|     "es6-promisify": "^5.0.0", | ||||
|     "ethereumjs-abi": "^0.6.4", | ||||
|     "ethereumjs-blockstream": "^2.0.6", | ||||
|     "ethereumjs-util": "^5.1.1", | ||||
|     "find-versions": "^2.0.0", | ||||
|     "js-sha3": "^0.6.1", | ||||
|     "lodash": "^4.17.4", | ||||
|     "publish-release": "0xproject/publish-release", | ||||
|     "uuid": "^3.1.0", | ||||
|     "web3": "^0.20.0" | ||||
|   } | ||||
|   | ||||
| @@ -1,39 +1,25 @@ | ||||
| const execAsync = require('async-child-process').execAsync; | ||||
| const semverSort = require('semver-sort'); | ||||
| const publishRelease = require('publish-release'); | ||||
| const promisify = require('es6-promisify'); | ||||
| const typedoc = require('typedoc'); | ||||
| const postpublish_utils = require('../../../scripts/postpublish_utils'); | ||||
|  | ||||
| const cwd = __dirname + '/..'; | ||||
| const publishReleaseAsync = promisify(publishRelease); | ||||
| const subPackageName = '0x.js'; | ||||
| const githubPersonalAccessToken = process.env.GITHUB_PERSONAL_ACCESS_TOKEN_0X_JS; | ||||
|  | ||||
| let tag; | ||||
| let version; | ||||
| getLatestTagAndVersionAsync(subPackageName) | ||||
| postpublish_utils.getLatestTagAndVersionAsync(subPackageName) | ||||
|     .then(function(result) { | ||||
|         console.log('POSTPUBLISH: Releasing...'); | ||||
|         tag = result.tag; | ||||
|         version = result.version; | ||||
|         const releaseName = subPackageName + ' v' + result.version; | ||||
|         return publishReleaseAsync({ | ||||
|             token: githubPersonalAccessToken, | ||||
|             owner: '0xProject', | ||||
|             repo: '0x.js', | ||||
|             tag: tag, | ||||
|             name: releaseName, | ||||
|             notes: 'TODO', | ||||
|             draft: false, | ||||
|             prerelease: true, | ||||
|             reuseRelease: true, | ||||
|             reuseDraftOnly: false, | ||||
|             assets: [__dirname + '/../_bundles/index.js', __dirname + '/../_bundles/index.min.js'], | ||||
|          }); | ||||
|          const releaseName = subPackageName + ' v' + version; | ||||
|          const assets = [ | ||||
|              __dirname + '/../_bundles/index.js', | ||||
|              __dirname + '/../_bundles/index.min.js', | ||||
|          ]; | ||||
|          return postpublish_utils.publishReleaseNotes(tag, releaseName, assets); | ||||
|     }) | ||||
|     .then(function(release) { | ||||
|         console.log('POSTPUBLISH: Release successful, generating docs...'); | ||||
|  | ||||
|         return execAsync( | ||||
|             'JSON_FILE_PATH=' +  __dirname + '/../docs/index.json PROJECT_DIR=' + __dirname + '/.. yarn docs:json', | ||||
|             { | ||||
| @@ -54,25 +40,3 @@ getLatestTagAndVersionAsync(subPackageName) | ||||
|     }).catch (function(err) { | ||||
|         throw err; | ||||
|     }); | ||||
|  | ||||
| function getLatestTagAndVersionAsync(subPackageName) { | ||||
|     const subPackagePrefix = subPackageName + '@'; | ||||
|     const gitTagsCommand = 'git tags -l "' + subPackagePrefix + '*"'; | ||||
|     return execAsync(gitTagsCommand) | ||||
|         .then(function(result) { | ||||
|             if (result.stderr !== '') { | ||||
|                 throw new Error(result.stderr); | ||||
|             } | ||||
|             const tags = result.stdout.trim().split('\n'); | ||||
|             const versions = tags.map(function(tag) { | ||||
|                 return tag.slice(subPackagePrefix.length); | ||||
|             }); | ||||
|             const sortedVersions = semverSort.desc(versions); | ||||
|             const latestVersion = sortedVersions[0]; | ||||
|             const latestTag = subPackagePrefix + latestVersion; | ||||
|             return { | ||||
|                 tag: latestTag, | ||||
|                 version: latestVersion | ||||
|             }; | ||||
|         }); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user