diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml new file mode 100644 index 0000000..30f985d --- /dev/null +++ b/.versionbot/CHANGELOG.yml @@ -0,0 +1,44 @@ +- version: v2.0.0+rev1 + date: 2018-04-04T22:00:00.000Z + commits: + - subject: 'Discontinue intel-quark [Andrei]' +- version: v2.0.0-beta12.rev2 + date: 2018-04-04T22:00:00.000Z + commits: + - subject: 'Bump resin-yocto-scripts to current HEAD [Andrei]' +- version: v2.0.0-beta12.rev1 + date: 2017-02-26T23:00:00.000Z + commits: + - subject: 'Bump resin-yocto-scripts to current HEAD [Andrei]' + - subject: 'meta-resin: Bump to 2.0.0-beta12 [Andrei]' +- version: v2.0.0-beta11.rev1 + date: 2017-02-14T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0.0-beta.11 [Andrei]' +- version: v2.0.0-beta10.rev1 + date: 2017-02-13T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0.0-beta.10 [Andrei]' +- version: v2.0.0-beta.9 + date: 2017-02-07T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0-beta.9 [Andrei]' +- version: v2.0.0-beta.8 + date: 2017-01-26T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0-beta.8 [Andrei]' + - subject: 'Update resin-yocto-scripts to HEAD of the master branch [Florin]' +- version: v2.0.2-beta.7 + date: 2016-12-04T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0-beta.7 [Florin]' +- version: v2.0.2-beta.6 + date: 2016-12-04T23:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0-beta.6 [Andrei]' + - subject: 'Fix patchset for go 1.7.3 [Theodor]' +- version: v2.0.1-beta.5 + date: 2016-11-30T00:00:00.000Z + commits: + - subject: 'Update meta-resin to v2.0-beta.5 [Andrei]' + - subject: 'Initial board release [Theodor]' diff --git a/package.json b/package.json deleted file mode 100644 index 29f7e5d..0000000 --- a/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "private": true, - "devDependencies": { - "lodash": "^4.17.10", - "semver": "^5.5.1", - "shelljs": "^0.8.2" - } -} diff --git a/repo.yml b/repo.yml new file mode 100644 index 0000000..0882d2d --- /dev/null +++ b/repo.yml @@ -0,0 +1,6 @@ +--- +type: 'yocto-based OS image' +reviewers: 1 +upstream: + repo: 'meta-resin' + url: 'http://github.com/resin-os/meta-resin' \ No newline at end of file diff --git a/versionist.conf.js b/versionist.conf.js deleted file mode 100644 index 82959ba..0000000 --- a/versionist.conf.js +++ /dev/null @@ -1,102 +0,0 @@ -'use strict'; - -const _ = require('lodash') -const fs = require('fs') -const path = require('path') -const semver = require('semver') -const shell = require('shelljs') - -const getAuthor = (commitHash) => { - const authorCmd = shell.exec(`git show --quiet --format="%an" ${commitHash}`) - if (authorCmd.code !== 0) { - throw new Error(authorCmd.stderr) - } - return authorCmd.stdout.replace('\n', '') -} - -const compareExtendedSemver = (a, b) => { - const semverCompare = semver.compare(a, b) - if (semverCompare !== 0) { - return semverCompare - } - return a.localeCompare(b) -} - -const getMetaResinFromSubmodule = (documentedVersions, history, callback) => { - shell.exec('git submodule status layers/meta-resin', (code, stdout, stderr) => { - if (code != 0) { - return callback(new Error('Could not find meta-resin submodule')) - } - const match = /.{40} .* \(v(.+)\)/.exec(stdout) - - if (!match) { - return callback(new Error(`Could not determine meta-resin version from version ${stdout}`)) - } - - const metaVersion = `${match[1]}+rev0` - const latestDocumented = _.trim(_.last(documentedVersions.sort(compareExtendedSemver))) - - // semver.gt will ignore the revision numbers but still compare the version - // If metaVersion <= latestDocumented then the latestDocumented version is a revision of the current metaVersion - const latestVersion = semver.gt(metaVersion, latestDocumented) ? metaVersion : latestDocumented - - return callback(null, latestVersion) - }) -} - -const updateVersionFile = (cwd, version, callback) => { - const versionFile = path.join(cwd, 'VERSION') - - fs.writeFile(versionFile, version, callback) -} - -module.exports = { - addEntryToChangelog: { - preset: 'prepend', - fromLine: 3 - }, - getChangelogDocumentedVersions: { - preset: 'changelog-headers', - clean: /^v/ - }, - getGitReferenceFromVersion: 'v-prefix', - includeCommitWhen: (commit) => { - return commit.footer['changelog-entry'] - }, - getIncrementLevelFromCommit: (commit) => { - return 'patch' - }, - incrementVersion: (currentVersion, incrementLevel) => { - const revision = Number(currentVersion[currentVersion.length - 1]) - if (!_.isFinite(revision)) { - throw new Error(`Could not extract revision number from ${currentVersion}`) - } - return currentVersion.slice(0, currentVersion.length - 1) + (revision + 1) - }, - getCurrentBaseVersion: getMetaResinFromSubmodule, - updateVersion: updateVersionFile, - // If a 'changelog-entry' tag is found, use this as the subject rather than the - // first line of the commit. - transformTemplateData: (data) => { - data.commits.forEach((commit) => { - commit.subject = commit.footer['changelog-entry'] || commit.subject - commit.author = getAuthor(commit.hash) - }); - if (_.isEmpty(data.commits)) { - throw new Error('At least one commit must be annotated with a Changelog-entry tag') - } - return data; - }, - template: [ - '# v{{version}}', - '## ({{moment date "Y-MM-DD"}})', - '', - '{{#each commits}}', - '{{#if this.author}}', - '* {{capitalize this.subject}} [{{this.author}}]', - '{{else}}', - '* {{capitalize this.subject}}', - '{{/if}}', - '{{/each}}' - ].join('\n') -}